ImageVerifierCode 换一换
格式:DOCX , 页数:13 ,大小:336.35KB ,
资源ID:7283019      下载积分:3 金币
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

加入VIP,免费下载
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.bdocx.com/down/7283019.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(DUT概率论与数理统计上机实习作业.docx)为本站会员(b****5)主动上传,冰豆网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰豆网(发送邮件至service@bdocx.com或直接QQ联系客服),我们立即给予删除!

DUT概率论与数理统计上机实习作业.docx

1、DUT概率论与数理统计上机实习作业概率论与数理统计上机实习题目一、 某人写了n封信,又写了n个信封,然后将这n封信随机地装入这n个信封中,用Pn表示至少有一封信装对的概率。1.编制程序,用随机数模拟至少20000次,求当n=10时,Pn的值。2.重复第一步,画出n=2,3,50时,Pn的散点图。解:1.用C语言编程序。以110的从小到大的排列为这10个信封的位置储存在数组a10中,用C语言中的随机数生成函数生成一组10个无重复的110之间的数的随机序列储存在数组b10中。把数组b中的元素从b0到b9分别与a0到a9比较大小,若比较到某一对元素相同则已可表示“至少有一封信装对”事件发生,停止本次

2、试验并进行下一次试验,直至试验了20000次,用m来计算20000次试验中“至少有一封信装对”发生的次数。由程序运行的结果(见下图)可知n=10时Pn=0.628550 程序代码如下:#include #include #include int main() int i,j,k,m=0,a10=1,2,3,4,5,6,7,8,9,10,b10;/a10代表10封信.b10是10个信封,随机生成一组110的数. double Pn; time_t t; srand(unsigned) time(&t);/用来生成随机数. for(i=1;i20001;i+)/进行20000次随机模拟; prin

3、tf(第%d次模拟试验中每封信的位置:,i); for(j=0;j10;j+) bj=arand()%10; k=0; while(kj)/此循环用来防止生成的随机数重复,若有重复则重新生成直至没有重复. if(bj=bk) bj=arand()%10; k=0; else k+; printf(%3d,bj);/打印出来可以方便检查错误. printf(n); for(j=0;j10;j+) if(bj=aj)/检查信与信封是否配对. m+=1;/一次模拟中一旦有一封信放对了则m增加1,不必再检查下去. break; else continue; Pn=1.0*m/20000; printf

4、(m=%d,Pn=%fn,m,Pn);2.求n为250的Pn与n=10时相同,只需把n=10修改成相应的数值即可。下表是n为250时的Pn值表:nPn20.500650 30.658050 40.628650 50.621200 60.633450 70.629550 80.631000 90.627400 100.628550110.627050 120.636800 130.641700 140.624150 150.629850 160.628800 170.627700 180.637850 190.629700 200.629950 210.633300 220.631000 230

5、.629050 240.626600 250.631000 260.631800 270.634800 280.626800 290.632550 300.635200 310.633800 320.635300 330.637300 340.628200 350.634050 360.632500 370.627900 380.628400 390.632000 400.636000 410.630700 420.630850 430.630450 440.637450 450.630300 460.632650 470.626950 480.628700 490.630100 500.63

6、6500 由此表数据用Excel处理可得Pn的散点图如下:二、 设X1,X2,Xn相互独立且都服从区间0,1上的均匀分布,为区间0,1上的一个可积函数由大数定律可知依概率收敛于=,编制程序,用随机数模拟至少40000次,近似地求下列两个积分的值: , 解:1.用C语言编写程序。利用随机数函数模拟45000次,得到45000个01之间的数(即Xi),用sum把它们的的值全部加和,再除以45000就是平均值 .程序代码如下:#include #include #include #include int main() int i; double x,sum=0,e=2.718281828; time

7、_t t; srand(unsigned) time(&t); for (i=0;i45000;i+) x=(rand()%1001)/1000.0;/将生成的0-1000的随机数除以1000便是精度为0.001的0-1之间的随机数. sum+=pow(e,x*x);/求45000个f(Xi)的和的值,再除以45000就是f(Xi)的平均值. printf(%d次随机试验的f(Xi)的平均值=%fn,i,sum/45000); return 0; 程序运行结果如下:所以1.461591.2.用C语言编写程序。用随机数函数模拟45000次,得到45000个01之间的随机数Xi,将这些数的求和后再

8、取平均值,就是所要求的的值。程序代码:#include #include #include #include math.hint main() int i; double x,sum=0; srand(unsigned) time(0); for (i=0;i45000;i+) x=(rand()%1001)/1000.0; if(x=0) /此处防止生成的随机数太小接近于0,下一步求f(Xi)时发生除以0的错误. x=0.0000001; sum+=sin(x)/x; printf(%d次随机试验的f(Xi)的平均值=%fn,i,sum/45000);程序运行结果如下:所以0.946260

9、.三、 假设男、女婴的出生率均为0.5,每个家庭只要有一个男婴出生就不再生下一胎,如果没有男婴,不论已经出生多少女婴,都可以继续要下一胎。假设某地有100万个家庭,按照上述生育政策,自行编制程序回答以下问题:1.每个家庭大约有几个小孩?2.男女比例大约为多少?3.如果男婴与女婴的出生率为0.51与0.49,重新回答前两问。解:1.第k胎为男孩的概率P=,所以每个家庭孩子数目的期望EX=.由于=1.5610-28已经很小,后面的还会越来越小,所以只需要计算前100项就可以近似地代替.用C语言计算EX=的值,程序代码如下:#include stdio.h#include math.hint mai

10、n() int k; double m=0.5,EX=0; for(k=1;k=100;k+) EX+=k*pow(m,k); printf(EX=%fn,EX);程序运行结果如下:可见EX=2 .即每个家庭大约有2个孩子。2.每个家庭男孩数的期望EX1=,女孩数的期望EX2=(100万个家庭的男、女孩数分别就是106EX1、106EX2) .同(1)中的级数一样,这两个级数计算前100项即可近似地代替所有项.用C语言编写程序,代码如下:#include stdio.h#include math.hint main() int k; double m=0.5,EX1=0,EX2=0,sum1,

11、sum2; for(k=1;k=100;k+) EX1+=pow(m,k); EX2+=(k-1)*pow(m,k); sum1=1000000*EX1; /sum1是男孩总数 sum2=1000000*EX2; /sum2是女孩总数 printf(男女比例=%fn,sum1/sum2);程序运行结果如下:由此可知男女比例=1:1 .3.(1)第k胎为男孩的概率P=,每个家庭孩子数目的期望EX= .下面用C语言计算EX=,程序代码:#include stdio.h#include math.hint main() int k; double m=0.51,n=0.49,EX=0; for(k=

12、1;k=100;k+) EX+=k*m*pow(n,k-1); printf(EX=%fn,EX);运行结果如下:所以此时每个家庭的孩子数约为1.960784 .(2)EX1= ; EX2= .用C语言求男孩总数和女孩总数,再求男女比例,程序代码如下:#include stdio.h#include math.hint main() int k; double m=0.51,n=0.49,EX1=0,EX2=0,sum1,sum2; for(k=1;k=100;k+) EX1+=m*pow(n,k-1); EX2+=(k-1)*m*pow(n,k-1); sum1=1000000*EX1; /sum1是男孩总数 sum2=1000000*EX2; /sum2是女孩总数 printf(男女比例=%fn,sum1/sum2);程序的运行结果如下:所以此时的男女比例=1.040816

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1