(精品)matlab在科学计算中的应用8.ppt
《(精品)matlab在科学计算中的应用8.ppt》由会员分享,可在线阅读,更多相关《(精品)matlab在科学计算中的应用8.ppt(113页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、第8章 概率论与数理统计问题的求解概率分布与伪随机数生成统计量分析数理统计分析方法及计算机实现统计假设检验方差分析及计算机求解 8.1概率分布与伪随机数生成 8.1.1 概率密度函数与分布函数概述图4-9通用函数计算概率密度函数值 函数 pdf格式 P=pdf(name,K,A)P=pdf(name,K,A,B)P=pdf(name,K,A,B,C)说明 返回在X=K处、参数为A、B、C的概率密度值,对于不同的分布,参数个数是不同;name为分布函数名。例如二项分布:设一次试验,事件Y发生的概率为p,那么,在n次独立重复试验中,事件Y恰好发生K次的概率P_K为:P_K=PX=K=pdf(bin
2、o,K,n,p)例:计算正态分布N(0,1)的随机变量X在点0.6578的密度函数值。解:pdf(norm,0.6578,0,1)ans=0.3213例:自由度为8的卡方分布,在点2.18处的密度函数值。解:pdf(chi2,2.18,8)ans=0.0363 随机变量的累积概率值(分布函数值)通用函数cdf用来计算随机变量的概率之和(累积概率值)函数 cdf格式 cdf(name,K,A)cdf(name,K,A,B)cdf(name,K,A,B,C)说明 返回以name为分布、随机变量XK的概率之和的累积概率值,name为分布函数名.例:求标准正态分布随机变量X落在区间(-,0.4)内的概
3、率。解:cdf(norm,0.4,0,1)ans=0.6554例:求自由度为16的卡方分布随机变量落在0,6.91内的概率。解:cdf(chi2,6.91,16)ans=0.0250随机变量的逆累积分布函数 MATLAB中的逆累积分布函数是已知,求x。命令 icdficdf 计算逆累积分布函数格式 icdf(name,F,A)icdf(name,F,A,B)icdf(name,F,A,B,C)说明 返回分布为name,参数为a1,a2,a3,累积概率值为F的临界值,这里name与前面相同。如果F=cdf(name,X,A,B,C),则 X=icdf(name,F,A,B,C)例:在标准正态分布
4、表中,若已知F=0.6554,求X解:icdf(norm,0.6554,0,1)ans=0.3999例:公共汽车门的高度是按成年男子与车门顶碰头的机会不超过1%设计的。设男子身高X(单位:cm)服从正态分布N(175,6),求车门的最低高度。解:设h为车门高度,X为身高。求满足条件 FX=0.99,即 FXh h=icdf(norm,0.99,175,6)h=188.95818.1.2 常见分布的概率密度函数与分布函数 8.1.2.1 Poisson分布其要求x是正整数。其中:x为选定的一组横坐标向量,y为x各点处的概率密度函数值。例:绘制 l l=1,2,5,10 时 Poisson 分布的
5、概率密度函数与概率分布函数曲线。x=0:15;y1=;y2=;lam1=1,2,5,10;for i=1:length(lam1)y1=y1,poisspdf(x,lam1(i);y2=y2,poisscdf(x,lam1(i);end plot(x,y1),figure;plot(x,y2)8.1.2.2 正态分布正态分布的概率密度函数为:例:x=-5:.02:5;y1=;y2=;mu1=-1,0,0,0,1;sig1=1,0.1,1,10,1;sig1=sqrt(sig1);for i=1:length(mu1)y1=y1,normpdf(x,mu1(i),sig1(i);y2=y2,no
6、rmcdf(x,mu1(i),sig1(i);end plot(x,y1),figure;plot(x,y2)8.1.2.3 分布例:绘制 为(1,1),(1,0.5),(2,1),(1,2),(3,1)时 x=-0.5:.02:5;x=-eps:-0.02:-0.5,0:0.02:5;x=sort(x);替代 y1=;y2=;a1=1,1,2,1,3;lam1=1,0.5,1,2,1;for i=1:length(a1)y1=y1,gampdf(x,a1(i),lam1(i);y2=y2,gamcdf(x,a1(i),lam1(i);end plot(x,y1),figure;plot(x,
7、y2)8.1.2.4 分布(卡方分布)其为一特殊的 分布,a=k/2,l l=1/2。例:x=-eps:-0.02:-0.5,0:0.02:2;x=sort(x);k1=1,2,3,4,5;y1=;y2=;for i=1:length(k1)y1=y1,chi2pdf(x,k1(i);y2=y2,chi2cdf(x,k1(i);end plot(x,y1),figure;plot(x,y2)8.1.2.5 分布概率密度函数为:其为参数k的函数,且k为正整数。例:x=-5:0.02:5;k1=1,2,5,10;y1=;y2=;for i=1:length(k1)y1=y1,tpdf(x,k1(i
8、);y2=y2,tcdf(x,k1(i);end plot(x,y1),figure;plot(x,y2)8.1.2.6 Rayleigh分布例:x=-eps:-0.02:-0.5,0:0.02:5;x=sort(x);b1=.5,1,3,5;y1=;y2=;for i=1:length(b1)y1=y1,raylpdf(x,b1(i);y2=y2,raylcdf(x,b1(i);end plot(x,y1),figure;plot(x,y2)8.1.2.7 F 分布其为参数p,q的函数,且p,q均为正整数。例:分别绘制(p,q)为(1,1),(2,1),(3,1)(3,2),(4,1)时F分
9、布的概率密度函数与分布函数曲线。x=-eps:-0.02:-0.5,0:0.02:1;x=sort(x);p1=1 2 3 3 4;q1=1 1 1 2 1;y1=;y2=;for i=1:length(p1)y1=y1,fpdf(x,p1(i),q1(i);y2=y2,fcdf(x,p1(i),q1(i);end plot(x,y1),figure;plot(x,y2)8.1.3 概率问题的求解图4-9例:b=1;p1=raylcdf(0.2,b);p2=raylcdf(2,b);P1=p2-p1P1=0.8449 p1=raylcdf(1,b);P2=1-p1P2=0.6065例:syms
10、 x y;f=x2+x*y/3;P=int(int(f,x,0,1/2),y,0,1/2)P=5/192 syms x y;f=x2+x*y/3;P=int(int(f,x,0,1),y,0,2)P=18.1.4 随机数与伪随机数例:b=1;p=raylrnd(1,30000,1);xx=0:.1:4;yy=hist(p,xx);hist()找出随机数落入各个子区间的点个数,并由之拟合出生成数据的概率密度。yy=yy/(30000*0.1);bar(xx,yy),y=raylpdf(xx,1);line(xx,y)8.2 统计量分析 8.2.1 随机变量的均值与方差例:均值 syms x;sy
11、ms a lam positive p=lama*x(a-1)/gamma(a)*exp(-lam*x);m=int(x*p,x,0,inf)m=1/lam*a 方差 s=simple(int(x-1/lam*a)2*p,x,0,inf)s=a/lam2已知一组随机变量样本数据构成的向量:求该向量各个元素的均值、方差和标准差、中位数medianmedian例:生成一组 30000 个正态分布随机数,使其均值为 0.5,标准差为1.5,分析数据实际的均值、方差和标准差,如果减小随机变量个数,会有什么结果?p=normrnd(0.5,1.5,30000,1);mean(p),var(p),std(
12、p)ans=0.4879 2.2748 1.5083300个随机数 p=normrnd(0.5,1.5,300,1);mean(p),var(p),std(p)ans=0.4745 1.9118 1.3827可见在进行较精确的统计分析时不能选择太小的样本点。例:m,s=raylstat(0.45)m=0.5640s=0.08698.2.2 随机变量的矩例:求解原点矩 syms x;syms a lam positive;p=lama*x(a-1)/gamma(a)*exp(-lam*x);for n=1:5,m=int(xn*p,x,0,inf),endm=1/lam*a m=1/lam2*a
13、*(a+1)m=1/lam3*a*(a+1)*(a+2)m=1/lam4*a*(a+1)*(a+2)*(a+3)m=1/lam5*a*(a+1)*(a+2)*(a+3)*(a+4)有规律 syms n;m=simple(int(x)n*p,x,0,inf)直接求出m=lam(-n)*gamma(n+a)/gamma(a)for n=1:6,s=simple(int(x-1/lam*a)n*p,x,0,inf),end 中心距s=0s=a/lam2 s=2*a/lam3s=3*a*(a+2)/lam4s=4*a*(5*a+6)/lam5s=5*a*(3*a2+26*a+24)/lam6 好像无规
14、律例:考虑前面的随机数,可以用下面的语句得出随机数的各阶矩。A=;B=;p=normrnd(0.5,1.5,30000,1);n=1:5;for r=n,A=A,sum(p.r)/length(p);B=B,moment(p,r);end A,BA=0.5066 2.4972 3.5562 18.7530 41.5506B=0 2.2405 0.0212 15.1944 0.0643求各阶距的理论值:syms x;A1=;B1=;p=1/(sqrt(2*pi)*1.5)*exp(-(x-0.5)2/(2*1.52);for i=1:5 A1=A1,vpa(int(xi*p,x,-inf,inf
15、),12);B1=B1,vpa(int(x-0.5)i*p,x,-inf,inf),12);end A1,B1A1=.500000000001,2.50000000000,3.50000000001,18.6250000000,40.8125000000 B1=0,2.25000000000,0,15.1875000000,08.2.3 多变量随机数的协方差分析例:p=randn(30000,4);cov(p)ans=1.0033 0.0131 0.0036 0.0020 0.0131 1.0110 0.0061 -0.0154 0.0036 0.0061 1.0055 -0.0004 0.0
16、020 -0.0154 -0.0004 0.98818.2.4 多变量正态分布的联合概率密度即分布函数例:mu1=-1,2;Sigma2=1 1;1 3;%输入均值向量和协方差矩阵 X,Y=meshgrid(-3:0.1:1,-2:0.1:4);xy=X(:)Y(:);%产生网格数据并处理(两列2501*2)p=mvnpdf(xy,mu1,Sigma2);%求取联合概率密度 P=reshape(p,size(X);Change size(2501*161*41)surf(X,Y,P)对协方差矩阵进行处理,可计算出新的联合概率密度函数。Sigma2=diag(diag(Sigma2);%消除协方
17、差矩阵的非对角元素 p=mvnpdf(xy,mu1,Sigma2);P=reshape(p,size(X);surf(X,Y,P)R为m行n列。例:mu1=-1,2;Sigma2=1 1;1 3;R1=mvnrnd(mu1,Sigma2,2000);plot(R1(:,1),R1(:,2),o)Sigma2=diag(diag(Sigma2);figure;R2=mvnrnd(mu1,Sigma2,2000);plot(R2(:,1),R2(:,2),o)8.3数理统计分析方法及计算机实现 8.3.1 参数估计与区间估计 无论总体X的分布函数 的类型已知或未知,我们总是需要去估计某些未知参数或
18、数字特征,这就是参数估计问题.即参数估计就是从样本 出发,构造一些统计量 (i=1,2,k)去估计总体X中的某些参数(或数字特征)(i=1,2,k).这样的统计量称为估计量估计量.1、点估计、点估计:构造 的函数 作为参数 的点估计量,称统计量 为总体X参数 的点估计量.2.区间估计区间估计:构造两个函数 (X1,X2,Xn)和 (X1,X2,Xn)做成区间,把这 作为参数 的区间估计.区间估计的求法区间估计的求法 设总体X的分布中含有未知参数 ,若对于给定的概率 ,存在两个统计量 (X1,X2,Xn)和 (X1,X2,Xn),使得 则称随机区间 为参数 的置信水平为 的置信区间置信区间,称
19、为置信下限置信下限,称 为置信上限置信上限.由极大似然法估计出该分布的均值、方差 及其置信区间。置信度越大,得出的置信区间越小,即得出的结果越接近于真值。还有gamfit(),raylfit(),poissfit(),unifit()(均匀分布)等参数估计函数例:p=gamrnd(1.5,3,30000,1);Pv=0.9,0.92,0.95,0.98;A=;for i=1:length(Pv)a,b=gamfit(p,Pv(i);A=A;Pv(i),a(1),b(:,1),a(2),b(:,2)end AA=0.9000 1.5137 1.5123 1.5152 2.9825 2.9791
20、2.9858 0.9200 1.5137 1.5126 1.5149 2.9825 2.9798 2.9851 0.9500 1.5137 1.5130 1.5144 2.9825 2.9808 2.9841 0.9800 1.5137 1.5135 1.5140 2.9825 2.9818 2.9831 num=300,3000,30000,300000,3000000;A=;for i=1:length(num)p=gamrnd(1.5,3,num(i),1);a,b=gamfit(p,0.95);A=A;num(i),a(1),b(:,1),a(2),b(:,2);end A(:,2,3
21、,4,5,6,7)ans=1.4795 1.4725 1.4865 2.9129 2.8960 2.9299 1.4218 1.4198 1.4238 3.1676 3.1623 3.1729 1.4898 1.4891 1.4904 3.0425 3.0409 3.0442 1.4998 1.4996 1.5000 3.0054 3.0049 3.0059 1.5006 1.5005 1.5007 2.9968 2.9966 2.9969 要达到参数估计效果良好,随机数不能选得太少,也不能选得太多,此例中为30000为好。8.3.2 多元线性回归与区间估计例:a=1-1.232 2.23 2
22、 4 3.792;X=randn(120,6);y=X*a;a1=inv(X*X)*X*y;a1ans=1.0000 -1.2320 2.2300 2.0000 4.0000 3.7920 a,aint=regress(y,X,0.02);a,aintans=1.0000 -1.2320 2.2300 2.0000 4.0000 3.7920ans=1.0000 -1.2320 2.2300 2.0000 4.0000 3.7920 1.0000 -1.2320 2.2300 2.0000 4.0000 3.7920 yhat=y+sqrt(0.5)*randn(120,1);a,aint=r
23、egress(yhat,X,0.02);a,aint a=1-1.232 2.23 2 4 3.792ans=1.0576 -1.3280 2.1832 2.0151 4.0531 3.7749ans=0.8800 -1.5107 2.0284 1.8544 3.8788 3.6221 1.2353 -1.1453 2.3379 2.1757 4.2274 3.9276 errorbar(1:6,a,aint(:,1)-a,aint(:,2)-a)errorbar()用图形绘制参数估计的置信区间。yhat=y+sqrt(0.1)*randn(120,1);a,aint=regress(yhat
24、,X,0.02);errorbar(1:6,a,aint(:,1)-a,aint(:,2)-a)8.3.3 非线性函数的最小二乘参数估计与区间估计r为参数下的残差构成的向量。J为各个Jacobi行向量构成的矩阵。例:f=inline(a(1)*exp(-a(2)*x)+a(3)*exp(-a(4)*x).*sin(a(5)*x),a,x);x=0:0.1:10;y=f(0.12,0.213,0.54,0.17,1.23,x);a,r,j=nlinfit(x,y,f,1;1;1;1;1);aans=0.11999999763418 0.21299999458274 0.5400000019681
25、8 0.17000000068705 1.22999999996315 ci=nlparci(a,r,j)0.12,0.213,0.54,0.17,1.23ci=0.11999999712512 0.11999999814323 0.21299999340801 0.21299999575747 0.54000000124534 0.54000000269101 0.17000000036077 0.17000000101332 1.22999999978603 1.23000000014028 y=f(0.12,0.213,0.54,0.17,1.23,x)+0.02*rand(size(x
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 精品 matlab 科学 计算 中的 应用
限制150内