第5章 数值计算0.4.ppt

上传人:s****8 文档编号:82779744 上传时间:2023-03-26 格式:PPT 页数:88 大小:822KB
返回 下载 相关 举报
第5章 数值计算0.4.ppt_第1页
第1页 / 共88页
第5章 数值计算0.4.ppt_第2页
第2页 / 共88页
点击查看更多>>
资源描述

《第5章 数值计算0.4.ppt》由会员分享,可在线阅读,更多相关《第5章 数值计算0.4.ppt(88页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。

1、Matlab 与计算方法华侨大学计算机学院张国亮 2010.9第5章 数值计算与数据分析 与符号计算相比,数值计算在科研和工程中的应用更为广泛。Matlab也正是凭借其卓越的数值计算能力而著称。也有人称Matlab为数值计算软件。为什么进行数值计算方法的研究?工程实践、科研领域的实际需要。计算机软硬件的支持,计算机的计算能力显著得到了提升。本章是学习matlab的重点内容本章将花较大的篇幅讨论若干常见数值计算问题:线性分析、本章将花较大的篇幅讨论若干常见数值计算问题:线性分析、一元和多元函数分析、微积分、数据分析、以及常微分方程一元和多元函数分析、微积分、数据分析、以及常微分方程求解等。求解等

2、。第5章 数值计算与数据分析 数值计算方法的具体内容十分繁杂,每一项应用都可能有具体不同的数值计算方法,我们这门课程主要介绍如何使用MATLAB中已经确定的一些数值方法,对数值计算方法感兴趣的同学可以看一下Matlab与数值方法这一本书。第5章 数值计算与数据分析 5.1.1 三角函数与双曲函数三角函数与双曲函数 函数 sin、sinh(正弦函数与双曲正弦函数)格式 Y=sin(X)%计算参量X(可以是向量、矩阵,元素可以是复数)中每一个角度分量 的正弦值Y,所有分量的角度单位为弧度。Y=sinh(X)%计算参量X的双曲正弦值Y例:x=-pi:0.01:pi;plot(x,sin(x)x=-5

3、:0.01:5;plot(x,sinh(x)5.1 基本数学函数 第5章 数值计算与数据分析 5.1.1 三角函数与双曲函数三角函数与双曲函数 函数 asin、asinh功能 反正弦函数与反双曲正弦函数函数 cos、cosh功能 余弦函数与双曲余弦函数函数 acos、acosh功能 反余弦函数与反双曲余弦函数函数 tan、tanh功能 正切函数与双曲正切函数函数 cot、coth功能 余切函数与双曲余切函数5.1 基本数学函数 第5章 数值计算与数据分析 5.1.1 三角函数与双曲函数三角函数与双曲函数 函数 acot、acoth功能 反余切函数与反双曲余切函数函数 sec、sech功能 正割

4、函数与双曲正割函数函数 asec、asech功能 反正割函数与反双曲正割函数函数 csc、csch功能 余割函数与双曲余割函数函数 acsc、acsch功能 反余割函数与反双曲余割函数。5.1 基本数学函数 第5章 数值计算与数据分析 5.1.2 取整函数取整函数 函数函数 roud功能:朝最近的方向取整。格式 Y=round(X)对X的每一个元素朝最近的方向取整数部分,返回与X同维的数组。对于复数参量X,则返回一复数,其分量的实数与虚数部分分别取原复数的、朝最近方向的整数部分。例:A=-1.9,-0.2,3.1415926,5.6,7.0,2.4+3.6i;Y=round(A)计算结果为:.

5、5.1 基本数学函数 第5章 数值计算与数据分析 5.1.2 取整函数取整函数 其他取整函数:函数函数 fix功能 朝零方向取整函数函数 floor功能 朝负无穷大方向取整函数函数 ceil功能 朝正无穷大方向取整5.1 基本数学函数 第5章 数值计算与数据分析 5.1.3 指数函数、对数函数指数函数、对数函数函数函数 exp 功能:以e为底数的指数函数格式:Y=exp(X)%对参量X的每一分量,求以e为底数的指数函数Y。X中的分量 可以为复数。例:A=-1.9,-0.2,3.1415926,5.6,7.0,2.4+3.6i;Y=exp(A)计算结果:.5.1 基本数学函数 第5章 数值计算与

6、数据分析 5.1.3 指数函数、对数函数指数函数、对数函数函数函数 exp函数函数 expm 功能:求矩阵的以e为底数的指数函数函数函数 Y=log(X):自然对数,即以e为底数的对数 函数函数 Y=log10(X):常用对数,即以10为底数的对数。5.1 基本数学函数 第5章 数值计算与数据分析 5.2 数值微积分5.2.1 数值极限及导数数值极限及导数 在Matlab中数值计算中,没有专门求极限和导数的指令。原因是,在数值浮点体系中,由于数值精度有限,不能表示无穷小量。但是,这并不意味着Matlab无法用数值方法求解极限和导数,事实上,数值计算是解各类微分方程的最主要工具。(很多情况下,符

7、号法是无法求出微分方程的精确解)第5章 数值计算与数据分析 5.2 数值微积分5.2.1 数值极限及导数数值极限及导数 注意:1、解算极值、积分、微分方程等数值问题时,不要贸然自行编写基于数值计算的方法,而要使用matlab提供的现成的指令。2、在数值近似导数非求不可的情况下,自变量的增量选取一定要大于原数据相对精度的10倍以上。3、Matlab中没有提供专门的求极限、求导指令,但提供了与“求导”概念有关的两个指令。第5章 数值计算与数据分析 5.2 数值微积分5.2.1 数值极限及导数数值极限及导数 在matlab中,与求导相关的有两个指令:差分与梯度指令Dx=diff(X)求差分FX=gr

8、adient(F)求一元函数梯度FX,FY=gradient(F)求二元函数梯度说明:对差分diff而言,差分结果dx的长度比X的长度短一个元素;对梯度gradient而言,FX的长度与F相同;当在gradient中的F是矩阵时,FX,FY是与F同样大小的矩阵。FX的每行给出F相应行元素间的梯度;FY的每列给出相应列元素间的梯度;第5章 数值计算与数据分析 5.2 数值微积分5.2.1 数值极限及导数数值极限及导数 例:设 试用机器零阈值eps替代理论0计算极限 ,并与符号计算方法比较。(1)不可信的“极限的数值近似计算”x=eps;L1=(1-cos(2*x)/(x*sin(x)%将得到一个

9、错误的极限值L2=sin(x)/x%这个值恰巧与理论值一致 结果:.三角函数:cos2x=1-2sin2(x)第5章 数值计算与数据分析 5.2 数值微积分5.2.1 数值极限及导数数值极限及导数 例:设 试用机器零阈值eps替代理论0计算极限 ,并与符号计算方法比较。(1)可信的“极限的符号计算”syms tf1=(1-cos(2*t)/(t*sin(t);f2=sin(t)/t;Ls1=limit(f1,t,0)Ls2=limit(f2,t,0)结果:.算例总结:借助符号计算所求的极限与理论值一致,而用数值法近似计算的极限与理论值不一致,慎用数值法!第5章 数值计算与数据分析 5.2 数值

10、微积分5.2.1 数值极限及导数数值极限及导数 例:已知x=sin(t),求该函数在区间0,2pi中的近似导函数。本例演示:数值计算方法中,自变量增量的适当取值对数值导函数的精度影响很大。第5章 数值计算与数据分析 5.2 数值微积分5.2.1 数值极限及导数数值极限及导数(1)计算数值导数时,自变量的增量过小d=pi/100;t=0:d:2*pi;x=sin(t);dt=5*eps;%增量为eps数量级x_eps=sin(t+dt);dxdt_eps=(x_eps-x)/dt;%用定义来计算plot(t,x,LineWidth,5)hold onplot(t,dxdt_eps)hold of

11、flegend(x(t),dx/dt)xlabel(t)第5章 数值计算与数据分析 5.2 数值微积分5.2.1 数值极限及导数 例:已知x=sin(t),求该函数在区间0,2pi中的近似导函数。本例演示:自变量增量的适当取值对数值导函数的精度影响很大。(2)计算数值导数,自变量增量适当x_d=sin(t+d);%增量为d=pi/100dxdt_d=(x_d-x)/d;plot(t,x,LineWidth,5)hold onplot(t,dxdt_d)hold offlegend(x(t),dx/dt)xlabel(t)第5章 数值计算与数据分析 5.2 数值微积分5.2.1 数值极限及导数

12、算例总结:1 即使被导函数数据是从双精度计算获得的,数值导数仍然受计算中的有限精度困扰。当自变量增量dt取得太小时,f(t+dt)与f(t)的数值十分接近,它们的高位有效数字几乎完全相同。这样,计算dff(t+dt)-f(t)时,f(t+dt)和f(t)相减造成dt的许多高位有效数字消失,导致精度急剧变差。第5章 数值计算与数据分析 5.2 数值微积分5.2.1 数值极限及导数 例:已知x=sin(t),采用diff和gradient计算该函数在区间0,2pi中的近似导函数。本例演示:diff和gradient求数值近似导数的方法;diff和gradient求导的差别。d=pi/100;t=0

13、:d:2*pi;x=sin(t);dxdt_diff=diff(x)/d;%diff求得的近似数值导数,注意除以d dxdt_grad=gradient(x)/d;%gradient求得的近似数值导数,注意除以d 绘图命令第5章 数值计算与数据分析 5.2 数值微积分5.2.1 数值极限及导数 左图:从宏观上看,二者求导时并无太大区别;右图:从细节上看,二者在数值上有差异,而且diff没有给出最后一点的导数;第5章 数值计算与数据分析 5.2 数值微积分5.2.2 数值求和与数值积分 Sx=sum(X)沿列方向求和Scx=cumsum(X)沿列方向累计求和St=trapz(x,y)采用梯形法沿

14、列方向求函数y关于自变量x的积分Sct=cumtrapz(x,y)采用梯形法沿列方向求函数y关于自变量x的累计积分注:数值求和和数值积分是不同的概念;Trapz和cumtrapz所得数值积分的精度与积分区间分隔的程度有关,采样数越多,积分精度越高。第5章 数值计算与数据分析 5.2 数值微积分5.2.2 数值求和与数值积分 求积分 其中,y=0.2+sin(t)演示:数值求和和数值积分差异。d=pi/8;t=0:d:pi/2;5个采样点数据y=0.2+sin(t);s=sum(y);所有函数采样值之和s_sa=d*s;高度为函数采样值的小矩形面积之和s_ta=d*trapz(y);连接各函数采

15、样值的折线下的面积,也可直接采用s_ta=trapz(t,y)形式;绘图指令.第5章 数值计算与数据分析 5.2 数值微积分5.2.2 数值求和与数值积分 求积分 其中,y=0.2+sin(t)计算结果:计算结果:sum求得积分求得积分 trapz求得积分求得积分 1.5762 1.3013说明:说明:本例为了说明求和和本例为了说明求和和积分的不同,把采样区间设积分的不同,把采样区间设得比较大,实际上当采样区得比较大,实际上当采样区间很小时,而这区别并不大,间很小时,而这区别并不大,但二者是两个不同的概念,但二者是两个不同的概念,不能简单把不能简单把d*sum(y)看作看作“矩形近似积分矩形近

16、似积分”。第5章 数值计算与数据分析 5.2 数值微积分5.2.3 数值积分计算精度的控制 前面介绍了数值求和与数值积分的区别,从中可以看出,利用trapz命令,可以直接进行数值积分的计算。但是,这种计算方法无法预先设置预求积分的精度,也无法得知已求得积分的精度,这在需要精确控制积分精度的场合是不利的。为此,Matlab中引入了精度可控的数值积分计算方法。数值积分有闭型算法和开型算法,二者的区别在于,是否计算积分区间端点处的函数值。Matlab提供的闭型数值积分指令:“quad”第5章 数值计算与数据分析 5.2 数值微积分5.2.3 数值积分计算精度的控制S1 quad(fun,a,b,to

17、l)Simpson法计算积分S1=quad(fun,a,b,tol)Lobatto法计算机分S2=dblquad(fun,xmin,xmax,ymin,ymax,tol)二重(闭型)数值积分S3=triplequad(fun,xmin,xmax,ymin,ymax,zmin,zmax,tol)三重(闭型)数值积分注:被积函数fun,可以是字符串、内联对象、匿名函数和M函数文件的函数句柄;tol用来控制绝对误差;第5章 数值计算与数据分析 5.2 数值微积分5.2.3 数值积分计算精度的控制(1)采用符号计算方法获得)采用符号计算方法获得32位精度的精确积分值位精度的精确积分值syms xIsy

18、m=vpa(int(exp(-x2),x,0,1)Isym=0.74682413281242702539946743613185 第5章 数值计算与数据分析 5.2 数值微积分5.2.3 数值积分计算精度的控制(2)采用)采用trapz计算积分计算积分format long 采用15位数字显示计算结果d=0.001;x=0:d:1;Itrapz=d*trapz(exp(-x.*x)Itrapz=0.746824071499185 第5章 数值计算与数据分析 5.2 数值微积分5.2.3 数值积分计算精度的控制(3)采用可控精度的数值积分法)采用可控精度的数值积分法fx=exp(-x.2);Ic

19、=quad(fx,0,1,1e-8)控制精度达1e-8 Ic=0.746824132854452 第5章 数值计算与数据分析 5.2 数值微积分5.2.3 数值积分计算精度的控制计算精度:计算精度:1 采用符号计算方法采用符号计算方法0.746824132812427025399467436131852采用采用trapz计算积分计算积分0.746824071499185 3采用可控精度的数值积分法采用可控精度的数值积分法0.746824132854452 说明:通过与符号计算的32为精确积分值比较,得知Trapz方法精度是6位,但事先并不能控制计算结果达到这样的精度;计算后,也无法知道该近似积

20、分的精度是否精确。quad可对积分精度进行控制。第5章 数值计算与数据分析 5.2 数值微积分5.2.3 数值积分计算精度的控制(1)符号计算法)符号计算法syms x ys=vpa(int(int(xy,x,0,1),y,1,2)s=.40546510810816438197801311546432(2)数值计算法)数值计算法format longs_n=dblquad(x,y)x.y,0,1,1,2)s_n=0.405466267243508 求二重积分:被积函数采用匿名函数的方式!第5章 数值计算与数据分析 5.2 数值微积分5.2.3 数值积分计算精度的控制算例总结算例总结:S2=db

21、lquad(fun,xmin,xmax,ymin,ymax,tol)二重(闭型)数值积分Dblquad指令中的tol省略时,表示数值积分的绝对精度为(1e-6).被积函数可以写成多种形式:1.s_n=dblquad(x,y)x.y,0,1,1,2)2.s_n=dblquad(x.y,0,1,1,2)3.s_n=dblquad(inline(x.y),0,1,1,2)求二重积分:第5章 数值计算与数据分析 5.2 数值微积分5.2.4 函数极值的数值求解 函数极值问题:函数极值问题:(1)高等数学中给出的求解方法是:)高等数学中给出的求解方法是:先对函数f(x)求导函数f(x),然后解方程f(x

22、)0,得到满足方程的x0,再通过分析f(x)在x0邻域的凹凸性,确定处f(x)是否在x0处取得极值。这种极值法的优点是概念清晰、易于理解。Matlab的符号计算指令采用的是这种方法。(2)但这种方法在实际中确会遇到两大困难:一是待求极值函数的导函数未必处处存在,二是即使导函数存在,f(x)=0并不一定能解出。因此引入了数值求解极值的方法。第5章 数值计算与数据分析 5.2 数值微积分5.2.4 函数极值的数值求解 数值求解极值的方法:求极值的现代数值计算程序一般是利用函数构成的某种“代价函数”(cost function)值的不断下降原理进行搜索的最速下降法。因此,我们可以把数值求极值问题看成

23、一种优化问题。1 Matlab只有极小值命令,没有极大值命令。2 讨论的极值只是“局部极值”,也就是局部最小化,而非全局最小化!第5章 数值计算与数据分析 5.2 数值微积分5.2.4 函数极值的数值求解 指令:指令:fminbndx,fval,exitflag,output=fminbnd(fun,x1,x2,options)求一元函数在区间(x1,x2)中极小值x,fval,exitflag,output=fminsearch(fun,x0,options)求多元函数极值【说明】:1、fun是待解的目标函数,该函数可以是字符串,内联对象、匿名函数和m函数文件的函数句柄;fminsearch

24、()函数中的多元自变量应采用单一变量名的向量表达形式。2、fminbnd的第二、三个输入量x1,x2分别表示被研究区间的左右边界。输出量x,fval分别表示极值点和响应的目标函数值,输入量options用于配置优化参数。第5章 数值计算与数据分析 5.2 数值微积分5.2.4 函数极值的数值求解【说明】:3、fminsearch的第二个输入宗量x0可以是一个搜索起点的向量或一组搜索起点的矩阵。当采用单个搜索起点时,输出量x也是一个单点向量。当采用多个搜索起点(矩阵)时,输出量x就给出多个搜索结果(矩阵)。4、输出量exitflag若给出大于0的数,说明成功搜索道极值点。5、输出量output给

25、出具体的优化算法和迭代次数。第5章 数值计算与数据分析 5.2 数值微积分5.2.4 函数极值的数值求解 已知,在-pi/2,pi/2,求函数的极小值。(1)极值定义方法求解syms xy=(x+pi)*exp(abs(sin(x+pi);yd=diff(y,x);%求导函数xs0=solve(yd)%求导函数为0的自变量值xs0y_xs0=vpa(subs(y,x,xs0),6)%计算y(sx0),发现它不是最小值y_m_pi=vpa(subs(y,x,-pi/2),6)%计算左边界点函数值y(-pi/2)y_p_pi=vpa(subs(y,x,pi/2),6)%计算右边界点函数值y(pi/

26、2)结果:y_xs0=4.98043y_m_pi=4.26987y_p_pi=12.8096错误!第5章 数值计算与数据分析 5.2 数值微积分5.2.4 函数极值的数值求解 已知,在-pi/2,pi/2,求函数的极小值。(2)优化算法求极小值x1=-pi/2;x2=pi/2;%搜索区间的边界yx=(x)(x+pi)*exp(abs(sin(x+pi);%采用匿名函数形式定义xn0,fval,exitflag,output=fminbnd(yx,x1,x2)%xn0,fval分别是极值点和函数极小值结果:xn0=-1.2999e-005fval=3.1416exitflag=1第5章 数值计算

27、与数据分析 5.2 数值微积分5.2.4 函数极值的数值求解 已知,在-pi/2,pi/2,求函数的极小值。(3)作图法xx=-pi/2:pi/200:pi/2;yxx=(xx+pi).*exp(abs(sin(xx+pi);plot(xx,yxx)第5章 数值计算与数据分析 5.2 数值微积分5.2.4 函数极值的数值求解 已知,在-pi/2,pi/2,求函数的极小值。算例特点:该函数的特点:一,导函数不连续,二,在x=-1附近,导数存在,且为0,是一个局部极大值,对于这类函数,用极值定义法求解是解不出的。Matlab中可采用的方法:借助fminbnd的优化方法;作图法借助图形窗的交互能力,

28、可以相当准确地求解一元函数的极值问题,为了使求解具有较好的精度,绘制曲线时采样点要足够细密,如果作图法不能满足精度需要,可以把图解近似解作为优化指令搜索更精确解的初始值。第5章 数值计算与数据分析 5.2 数值微积分5.2.5 常微分方程的数值解 t,Y=ode45(odefun,tspan,y0)%采用4阶runge-kutta数值积分法解微分方程说明:第一输入量odefun是待解微分方程的函数文件句柄函数文件句柄,该函数文件的输出必需是待解函数的一阶导数。不管原问题是不是一阶微分方程组,当使用求解时,必须转化成一阶微分方程组的形式:y=f(y,t);Tspan用来定义求数值解的时间区间;输

29、入量y0是一阶微分方程组的初值列向量;输出量t是所求数值解的自变量数据列向量(数据长度N),Y是Nn输出矩阵。第5章 数值计算与数据分析 5.2 数值微积分5.2.5 常微分方程的数值解 例:求微分方程 在初始条件 情况下的解,并图示。(1)把高阶微分方程改写成一阶微分方程组令 ,原二阶方程改写成如下一阶方程组第5章 数值计算与数据分析 5.2 数值微积分5.2.5 常微分方程的数值解 例:求微分方程 在初始条件 情况下的解,并图示。(2)根据一阶微分方程组编写M函数文件DyDt.mDyDt.mfunction ydot=DyDt(t,y)mu=2;ydot=y(2);mu*(1-y(1)2)

30、*y(2)-y(1);%列向量的表现形式第5章 数值计算与数据分析 5.2 数值微积分5.2.5 常微分方程的数值解 例:求微分方程 在初始条件 情况下的解,并图示。(3)解算微分方程tspan=0,30;%求解时间区间y0=1;0;%初值向量tt,yy=ode45(DyDt,tspan,y0);plot(tt,yy(:,1)xlabel(t),title(x(t)第5章 数值计算与数据分析 5.3 一般代数方程的解 一般代数方程:f(x)=0 对于任意函数f(x)=0来说,它可能有零点,也可能没有零点;可能只有一个零点,也可能有多个甚至无数个零点,因此,很难说出一个通用解法。一般的求解过程:

31、先猜测一个初始零点或该零点所在的区间,然后通过一些计算,使猜测区间不断收缩,直到到达预先指定的精度,终止计算。搜索算法。第5章 数值计算与数据分析 5.3 一般代数方程的解 在Matalab中主要有两种方法:符号解法:数值解法:步骤:1 利用Matlab作图指令获取初步近似解;具体做法:先确定一个零点可能存在的自变量区间,然后用plot指令画出f(x)在该区间中的图形,观察f(x)与横轴的交点坐标。(用zoom对交点处进行局部放大,借助ginput指令获得更精确些的交点数据。2 利用Matlab中如下“泛函”指令求精确解:x,favl=fzero(fun,x0)求一元函数零点x,favl=fs

32、olve(fun,x0)解非线性方程组第5章 数值计算与数据分析 5.3 一般代数方程的解 x,favl=fzero(fun,x0)求一元函数零点x,favl=fsolve(fun,x0)解非线性方程组说明:1.Fun可以是字符串、内联对象、匿名函数和M函数文件的函数句柄,被解函数的自变量一般采用x;2.fzero只能处理函数穿越横轴的情况,无法处理函数触及横轴但不穿越横轴的情况;3.第二个输入量x0表示零点初始猜测值,x0可以是标量或是二元向量。当x0取标量时,该指令将在它两侧寻找一个与之最靠近的零点;当x0取二元向量a,b时,该指令将在a,b区间内寻找一个零点;4.输出量fval是函数值,

33、x是所求零点的自变量。第5章 数值计算与数据分析 5.3 一般代数方程的解 求 的解 本例演示:符号计算求非线性函数的零点;fzero指令的用法;如何利用内联对象构造被解函数;作图法在数值求解中的作用。(1)符号计算方法S=solve(sin(t)2*exp(-0.1*t)-0.5*abs(t),t)结果:S=0.第5章 数值计算与数据分析 5.3 一般代数方程的解 求 的解(2)数值法求解y_C=inline(sin(t).2.*exp(-0.1*t)-0.5*abs(t),t);%创建内联对象t=-10:0.01:10;%自变量区间Y=y_C(t);clf,plot(t,Y,r);hold

34、 onplot(t,zeros(size(t),k);%画坐标横轴xlabel(t);ylabel(y(t);hold off 第5章 数值计算与数据分析 5.3 一般代数方程的解 求 的解 第5章 数值计算与数据分析 5.3 一般代数方程的解 求 的解(3)分析作图结果zoom on;tt,yy=ginput(5);%用鼠标获个零点猜测值zoom off tt%显示所得零点初始猜测值(4)以0.1为猜测值搜索附近的零点t4,y4=fzero(y_C,0.1)说明:1 符号计算法得到了一个零点,解不全符号计算法得到了一个零点,解不全2 作图法作图法得到得解最清楚;得到得解最清楚;3 fzero

35、得不到正确解,因为有零点未穿越横轴得不到正确解,因为有零点未穿越横轴第5章 数值计算与数据分析 5.4 概率分布和统计分析 利用计算机来研究概率、统计和随机数据量的研究具有很大优势,因为这些内容本身就是十分抽象的,借助MATLAB的图形功能可以很好地加深对这部分内容的理解。MATLAB中的概率统计是一个非常大的研究问题,包括的内容很多,如假设检验、参数估计、方差分析等。本课程只简要介绍一些基本的随机数产生,概率密度,分布函数的计算方法。第5章 数值计算与数据分析 5.4 概率分布和统计分析 5.4.1 随机变量的概率密度和分布函数 1 随机变量的概率密度随机变量的概率密度中两种方法:中两种方法

36、:专用函数计算概率密度;通用函数计算概率密度;第5章 数值计算与数据分析 5.4 概率分布和统计分析 5.4.1 随机变量的概率密度和分布函数 1 随机变量的概率密度:随机变量的概率密度:通用函数计算概率密度;函数 pdfY=pdf(name,K,A,B,C)说明 返回在X=K处、参数为A、B、C的概率密度值,对于不同的分布,参数个数是不同;name为分布函数名第5章 数值计算与数据分析 5.4 概率分布和统计分析 5.4.1 随机变量的概率密度和分布函数 1 随机变量的概率密度:随机变量的概率密度:常见函数分布名称:name的取值函数说明beta或BetaBeta分布bino或Binomia

37、l二项分布chi2或Chisquare卡方分布exp或Exponential指数分布f或FF分布第5章 数值计算与数据分析 5.4 概率分布和统计分析 5.4.1 随机变量的概率密度和分布函数 1 随机变量的概率密度:随机变量的概率密度:例:计算正态分布N(0,1)的随机变量X在点0.6578的密度函数值。解:pdf(norm,0.6578,0,1)ans=0.3213第5章 数值计算与数据分析 5.4 概率分布和统计分析 5.4.1 随机变量的概率密度和分布函数 1 随机变量的概率密度:随机变量的概率密度:专用函数计算概率密度专用函数计算概率密度命令 二项分布的概率值 函数 binopdf格

38、式 binopdf(k,n,p)%等同于 pdf(bino,k,n,p)。p 每次试验事件A发生的概率;k事件A发生K次;n试验总次数 函数 normpdf(K,mu,sigma)%计算参数为=mu,=sigma的正态分布密度函数在K处的值第5章 数值计算与数据分析 5.4 概率分布和统计分析 5.4.1 随机变量的概率密度和分布函数 专用函数计算概率密度专用函数计算概率密度函数名调用形式注 释Unifpdfunifpdf(x,a,b)a,b上均匀分布均匀分布(连续)概率密度在X=x处的函数值unidpdfUnidpdf(x,n)均匀分布(离散)概率密度函数值Exppdfexppdf(x,La

39、mbda)参数为Lambda的指数分布概率密度函数值normpdfnormpdf(x,mu,sigma)参数为mu,sigma的正态分布概率密度函数值chi2pdfchi2pdf(x,n)自由度为n的卡方分布概率密度函数值binopdfbinopdf(x,n,p)参数为n,p的二项分布的概率密度函数值poisspdfpoisspdf(x,Lambda)参数为Lambda的泊松分布的概率密度函数值第5章 数值计算与数据分析 5.4 概率分布和统计分析 5.4.1 随机变量的概率密度和分布函数 1 随机变量的概率密度:随机变量的概率密度:专用函数计算概率密度专用函数计算概率密度例:正态分布表示例:

40、正态分布表示:mu=3;sigma=0.5;xd=1:0.1:5;yd=normpdf(xd,mu,sigma);plot(xd,yd,b);第5章 数值计算与数据分析 5.4 概率分布和统计分析 5.4.1 随机变量的概率密度和分布函数 2 随机变量的累积概率值随机变量的累积概率值(分布函数值分布函数值)两种方法:两种方法:专用函数计算累积概率值 通用函数计算累积概率值 第5章 数值计算与数据分析 5.4 概率分布和统计分析 5.4.1 随机变量的概率密度和分布函数 2 随机变量的累积概率值随机变量的累积概率值(分布函数值分布函数值)通用函数计算累积概率值通用函数计算累积概率值 函数函数:c

41、df 通用函数cdf用来计算随机变量的概率之和(累积概率值)格式说明:返回以name为分布、随机变量XK的概率之和的累积概率值例:求标准正态分布随机变量X落在区间(-,0.4)内的概率解:cdf(norm,0.4,0,1)ans=0.6554 第5章 数值计算与数据分析 5.4 概率分布和统计分析 5.4.1 随机变量的概率密度和分布函数 2 随机变量的累积概率值随机变量的累积概率值(分布函数值分布函数值)专用函数计算累积概率值专用函数计算累积概率值 命令 二项分布的累积概率值函数 binocdf格式:binocdf(k,n,p)%n为试验总次数,p为每次试验事件A发生的概率,k为n次试验中事

42、件A发生的次数,该命令返回n次试验中事件A恰好发生k次的概率。命令 正态分布的累积概率值函数 normcdf格式 normcdf()%返回F(x)=的值,mu、sigma为正态分布的两个参数第5章 数值计算与数据分析 5.4 概率分布和统计分析 5.4.1 概率函数和分布函数3 各种概率分布的交互式观察界面各种概率分布的交互式观察界面 通过disttool指令可以直接打开概率分布交互界面。上方选择分布类型和函数类型,下方的参数值对应着不同的分布通过输入或拖拉x数值,可以看到该x对应的概率统计了20多钟分布类型。第5章 数值计算与数据分析 5.4 概率分布和统计分析 5.4.1 概率函数和分布函

43、数3 各种概率分布的交互式观察界面各种概率分布的交互式观察界面 第5章 数值计算与数据分析 5.4 概率分布和统计分析 5.4.2 随机数发生器和 统计分析指令 rand(state,k)设置均布随机发生器的状态为设置均布随机发生器的状态为krandn(state,k)设置正态随机发生器的状态为设置正态随机发生器的状态为krand(m,n)产生各元素独立的,在产生各元素独立的,在0,1区间区间中服从均匀分布的中服从均匀分布的(mn)维随机数组维随机数组randn(m,n)产生各元素独立的,服从正态分布产生各元素独立的,服从正态分布N(E=0,D=1)的的(mn)维随机数组维随机数组max(X)

44、对对(mn)数组各列分别求最大值数组各列分别求最大值min(X)对对(mn)数组各列分别求最小值数组各列分别求最小值mean(X)对对(mn)数组各列分别求均值数组各列分别求均值第5章 数值计算与数据分析 5.4 概率分布和统计分析 5.4.2 随机数发生器和 统计分析指令 std(X)对对(mn)数组各列分别求标准差数组各列分别求标准差var(X)对对(mn)数组各列分别求方差数组各列分别求方差cov(X)给出矩阵给出矩阵X各列间的协方差阵各列间的协方差阵corrcoef(X)给出矩阵给出矩阵X各列间的相关系数各列间的相关系数sort(X)X为向量,返回为向量,返回X按由小到大排序按由小到大

45、排序后的向量。后的向量。第5章 数值计算与数据分析 5.4.2 随机数发生器和 统计分析指令 例:产生1000个服从 的随机数本例演示:如何用本例演示:如何用randn产生指定均值和标准差的正态随机数,产生指定均值和标准差的正态随机数,histfit指令显示随机样本与理想正态分布的接近程度。指令显示随机样本与理想正态分布的接近程度。mu=2;s=0.5;randn(state,22)x=randn(1000,1);随机样本随机样本y=s*x+mu;%服从正态分布的随机样本服从正态分布的随机样本subplot(2,1,1),histfit(x),axis(-5,5,0,100),ylabel(x

46、)subplot(2,1,2),histfit(y),axis(-5,5,0,100),ylabel(y)5.4 概率分布和统计分析 第5章 数值计算与数据分析 5.4.2 随机数发生器和 统计分析指令 说明:说明:histfit函数除画出直方图外,还可自动计算所给数据函数除画出直方图外,还可自动计算所给数据的样本均值和样本标准差,可画出相应的正态拟合曲线的样本均值和样本标准差,可画出相应的正态拟合曲线5.4 概率分布和统计分析 第5章 数值计算与数据分析 5.4.3 特定随机数的产生特定随机数的产生 1 二项分布的随机数据的产生二项分布的随机数据的产生 命令 参数为N,P的二项随机数据函数函

47、数 binornd格式 R=binornd(N,P)%N、P为二项分布的两个参数,返回服从参数为N、P的二项分布的随机数,N、P大小相同。R=binornd(N,P,m)%m指定随机数的个数,与R同维数。R=binornd(N,P,m,n)%m,n分别表示R的行数和列数例:R=binornd(10,0.5)5.4 概率分布和统计分析 第5章 数值计算与数据分析 5.4.3 特定随机数的产生特定随机数的产生 2 正态分布的随机数据的产生正态分布的随机数据的产生命令 参数为、的正态分布的随机数据函数函数 normrnd格式 R=normrnd(MU,SIGMA)%返回均值为MU,标准差为SIGMA

48、的正态分布的随机数据,R可以是向量或矩阵。R=normrnd(MU,SIGMA,m)%m指定随机数的个数,与R同维数。R=normrnd(MU,SIGMA,m,n)%m,n分别表示R的行数和列数例n1=normrnd(1:6,1./(1:6)5.4 概率分布和统计分析 第5章 数值计算与数据分析 5.4.3 特定随机数的产生特定随机数的产生 3 常见分布的随机数据常见分布的随机数据5.4 概率分布和统计分析 函数名调用形式注 释Unifrndunifrnd(A,B,m,n)A,B上均匀分布(连续)随机数Unidrndunidrnd(N,m,n)均匀分布(离散)随机数Exprndexprnd(L

49、ambda,m,n)参数为Lambda的指数分布随机数Normrndnormrnd(MU,SIGMA,m,n)参数为MU,SIGMA的正态分布随机数第5章 数值计算与数据分析 5.4.3 特定随机数的产生特定随机数的产生 3 常见分布的随机数据常见分布的随机数据5.4 概率分布和统计分析 函数名调用形式注 释chi2rndchi2rnd(N,m,n)自由度为N的卡方分布随机数Trndtrnd(N,m,n)自由度为N的t分布随机数Frndfrnd(N1,N2,m,n)第一自由度为N1,第二自由度为N2的F分布随机数gamrndgamrnd(A,B,m,n)分布随机数第5章 数值计算与数据分析 5

50、.4.3 特定随机数的产生特定随机数的产生 3 常见分布的随机数据常见分布的随机数据5.4 概率分布和统计分析 lognrndlognrnd(MU,SIGMA,m,n)参数为MU,SIGMA的对数正态分布随机数nbinrndnbinrnd(R,P,m,n)参数为R,P的负二项式分布随机数ncfrndncfrnd(N1,N2,delta,m,n)参数为N1,N2,delta的非中心F分布随机数nctrndnctrnd(N,delta,m,n)参数为N,delta的非中心t分布随机数ncx2rndncx2rnd(N,delta,m,n)参数为N,delta的非中心卡方分布随机数raylrndray

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 生活休闲 > 生活常识

本站为文档C TO C交易模式,本站只提供存储空间、用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。本站仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知淘文阁网,我们立即给予删除!客服QQ:136780468 微信:18945177775 电话:18904686070

工信部备案号:黑ICP备15003705号© 2020-2023 www.taowenge.com 淘文阁