matalb第八章课后习题 下载本文

Matlab第八章部分习题

1. 以下是 100 次刀具故障记录,即故障出现时该刀具完成的零件数。分析这批数据是否服从正态分布,并求其均值和均方差。注意,由于纪录失误,其中可能有些数据是错误的,要对此进行适当处理。

459, 362, 624, 542, 509, 584, 433, 748, 815, 505, 612, 452, 434, 982,640782, 742, 565, 706, 593, 680, 926, 653, 164, 487, 734, 608, 428, 1153, 593, 844, 527, 552, 513, 781, 474, 388, 824, 538, 862, 659, 775, 859, 755, 649, 697, 515, 628, 954, 771, 609, 2, 960, 885, 610, 292, 837, 473, 677, 358, 638, 699, 634, 555, 570, 84, 416, 606, 1062, 484, 120, 447, 654, 564, 339, 280, 246, 687, 539, 790, 581, 621, 724, 531, 512, 577, 496, 468, 499, 544, 645, 764, 558, 378, 765, 666, 763, 217, 715, 310, 851

x1=[459 362 624 542 509 584 433 748 815 505 ] x2=[612 452 434 982 640 742 565 706 593 680 ] x3=[926 653 164 487 734 608 428 1153 593 844 ] x4=[527 552 513 781 474 388 824 538 862 659 ] x5=[775 859 755 649 697 515 628 954 771 609 ] x6=[402 960 885 610 292 837 473 677 358 638 ] x7=[699 634 555 570 84 416 606 1062 484 120 ] x8=[447 654 564 339 280 246 687 539 790 581 ] x9=[621 724 531 512 577 496 468 499 544 645 ] x10=[764 558 378 765 666 763 217 715 310 851 ] x=[x1 x2 x3 x4 x5 x6 x7 x8 x9 x10]; [mean(x),var(x)] ans =

1.0e+004 *

0.0600 3.8663

2. 表8.4给出了1930年各国人均年消耗的烟去数以及1950年男子死于肺癌的死亡率。(注:研究男子的肺癌死亡率是因为在1930年左右几乎极少的妇女吸烟,记录1950年的肺癌死亡率是因为考虑到吸烟的效应要有一段时间才能显现)

表8.4 各国烟消耗量与肺癌人数

国 家 澳大利亚 加拿大 丹麦 芬兰 英国 荷兰 冰岛 挪威 瑞典

1930年人均烟消耗量

480 500 380 1100 1100 490 230 250 300

1950年每百万男子死于肺癌人数

180 150 170 350 460 240 60 90 110

瑞士 美国 510 1300 250 200

(1) 画出该数据散点图;

x=[480 500 380 1100 1100 490 230 250 300 510 1300] y=[180 150 170 350 460 240 60 90 110 250 200] plot(x,y,'ro')

(2) 该散点图是否表明在吸烟多的人中间肺癌死亡率较高? 答: 可以表明在吸烟多的人中间肺癌死亡率较高。

(3)计算两列数据的相关系数。 corrcoef(x,y) ans =

1.0000 0.7373 0.7373 1.0000

4. (掷硬币) 考虑将一枚均匀硬币掷N次,当N很大时,正面出现的机率接近0.5,设计一个随机模拟试验显示这一现象 function p=f(n) a=rand(1,n) p=0 s=0

for j=1:n

s=s+(a(1,j)>0.5).*1 end p=s/n f(1000)

5. (二项分布随机数产生) 如何用最基本的随机数函数rand产生二项分布B(n, p)的一个随机数呢?先考虑Bernoulli试验,为此产生一个(0,1)上均匀分布随机数,若这个数小于p, 则试验结果记为1,否则记为0,那么试验结果服从0-1分布, n个独立0-1分布随机数的和便是一个二项分布随机数。试根据这样的思路编写B(n, p) 随机数生成函数

function B=f(n,p) a=rand(1,n) s=0

for j=1:n

s=s+(a(1,j)

7. 用蒙特卡洛法计算积分

x2exp(?)12dx,2?exp(x/2)sin2(x)dx,?sin(x)exp(?x2?y2)dxdy

?02??0?0?0fplot(inline('exp(-x^2/2)/(sqrt(2*pi)) '),[0,1]) clear;N=1000 x=unifrnd(0,1,N,1) y=rand(N,1)

c=(exp(-x.^2./2)./y)>(sqrt(2*pi)) Nc=sum(c);I=Nc/N*1

fplot(inline('exp(x/2)*(sin(x))^2'),[0 ,2*pi]) clear;N=10000

x=unifrnd(0,2*pi,N,1) y=unifrnd(0,12,N,1)

c=((exp(x./2).*(sin(x)).^2)>y) Nc=sum(c);I=Nc/N*24*pi

xa=0:0.1:pi ya=-1:0.1:1

[x,y]=meshgrid(xa,ya) z=exp(-x.^2-y.^2) mesh(x,y,z) [x,y,z] Clear N=1000

x=unifrnd(0,pi,N,1) y=rand(N,1) z=rand(N,1) c1=(y

c2=(exp(-x.^2-y.^2)>z) Nc=sum(c1&c2);I=Nc/N*pi