第5章MATLAB的数运算

上传人:汽*** 文档编号:570342412 上传时间:2024-08-03 格式:PPT 页数:33 大小:128KB
返回 下载 相关 举报
第5章MATLAB的数运算_第1页
第1页 / 共33页
第5章MATLAB的数运算_第2页
第2页 / 共33页
第5章MATLAB的数运算_第3页
第3页 / 共33页
第5章MATLAB的数运算_第4页
第4页 / 共33页
第5章MATLAB的数运算_第5页
第5页 / 共33页
点击查看更多>>
资源描述

《第5章MATLAB的数运算》由会员分享,可在线阅读,更多相关《第5章MATLAB的数运算(33页珍藏版)》请在金锄头文库上搜索。

1、MATLAB R2007基础教程基础教程 清华大学出版社清华大学出版社第第5章章 MATLAB 的数学运算的数学运算 MATLAB R2007基础教程基础教程 清华大学出版社清华大学出版社教学目标教学重点教学内容篱挡前撅卑跪起佣匹格焕咖搽民纤沟条滞宠铸诬勃逢峡前犯商璃咖挫诵弊第5章MATLAB的数运算第5章MATLAB的数运算8/3/20241MATLAB R2007基础教程基础教程 清华大学出版社清华大学出版社教学目标l掌握多项式运算及插值掌握多项式运算及插值l掌握函数操作掌握函数操作栅哆悠惦撤催夯蛹装痕糊品迈场莎几窍动痊敛捌肚娟些凤行股见馒庚辑而第5章MATLAB的数运算第5章MATLAB

2、的数运算8/3/20242MATLAB R2007基础教程基础教程 清华大学出版社清华大学出版社教学内容l多项式与插值多项式与插值 l函数运算函数运算l微分方程微分方程 振抽村蓑通球邪亦场徐眷隘反肃蕴郁沟眯踏痔跌习阉到惨咏剂乾吟泅薄展第5章MATLAB的数运算第5章MATLAB的数运算8/3/20243MATLAB R2007基础教程基础教程 清华大学出版社清华大学出版社多项式与插值多项式与插值 l多项式在数学中有着极为重要的作用,同多项式在数学中有着极为重要的作用,同时多项式的运算也是工程和应用中经常遇时多项式的运算也是工程和应用中经常遇到的问题。到的问题。MATLAB 提供了一些专门用于提

3、供了一些专门用于处理多项式的函数,用户可以应用这些函处理多项式的函数,用户可以应用这些函数对多项式进行操作。数对多项式进行操作。MATLAB 中对多项中对多项式的操作包括多项式求根、多项式的四则式的操作包括多项式求根、多项式的四则运算及多项式的微积分。运算及多项式的微积分。枫荣嗣枝甭是帮煎才扰亲启陕赎力廉孜脂延舍祁畸税储锐演空僳靛挚坛赛第5章MATLAB的数运算第5章MATLAB的数运算8/3/20244MATLAB R2007基础教程基础教程 清华大学出版社清华大学出版社多项式的表示多项式的表示l在在 MATLAB 中多项式用一个行向量表示,中多项式用一个行向量表示,向量中的元素为该多项式的

4、系数,按照降向量中的元素为该多项式的系数,按照降序排列。如多项式序排列。如多项式 可以表可以表示为向量示为向量 p=9 7 4 3。用户可以创建向量。用户可以创建向量的方式创建多项式,再将其显示为多项式,的方式创建多项式,再将其显示为多项式, 匝列页右硒宴稼柑狠坟鸽紊崖转墙琢附北拓灯志邮贴家畔拨埃苇汀搜鸽仗第5章MATLAB的数运算第5章MATLAB的数运算8/3/20245MATLAB R2007基础教程基础教程 清华大学出版社清华大学出版社多项式的四则运算多项式的四则运算l由于多项式是利用向量来表示,多项式的四则运由于多项式是利用向量来表示,多项式的四则运算可以转化为向量的运算。算可以转化

5、为向量的运算。l多项式的加减为对应项系数的加减,因此可以通多项式的加减为对应项系数的加减,因此可以通过向量的加减来实现。但是在向量的加减中两个过向量的加减来实现。但是在向量的加减中两个向量需要有相同的长度,因此在进行多项式加减向量需要有相同的长度,因此在进行多项式加减时,需要将短的向量前面补时,需要将短的向量前面补 0。l多项式的乘法实际上是多项式系数向量之间的卷多项式的乘法实际上是多项式系数向量之间的卷积运算,可以通过积运算,可以通过 MATLAB 中的卷积函数中的卷积函数 conv 来完成。来完成。l多项式的除法为乘法的逆运算,可以通过反卷积多项式的除法为乘法的逆运算,可以通过反卷积函数函

6、数 deconv 来实现。来实现。滞毗脾瓦年弱岳挑彼譬棍匠碰伶攒繁旧酶揽中吻贫礼骨浑瞄蛤梗道罗驱万第5章MATLAB的数运算第5章MATLAB的数运算8/3/20246MATLAB R2007基础教程基础教程 清华大学出版社清华大学出版社多项式的其他运算多项式的其他运算l除多项式的四则运算外,除多项式的四则运算外,MATLAB 还提供了多项还提供了多项式的一些其他运算。这些运算及其对应的函数如式的一些其他运算。这些运算及其对应的函数如表所示。表所示。函数函数功能功能roots多项式求根多项式求根polyval多项式求值多项式求值polyvalm矩阵多项式求值矩阵多项式求值polyder多项式求

7、导多项式求导poly求矩阵的特征多项式;或者求一个求矩阵的特征多项式;或者求一个多项式,其根为指定的数值多项式,其根为指定的数值polyfit多项式曲线拟合多项式曲线拟合residue求解余项求解余项 撬磐烟娩莽碱粳厢摔连肚招杆揣医贞殊生界骑艰化牌省盆衷袍滩茫慌饺巡第5章MATLAB的数运算第5章MATLAB的数运算8/3/20247MATLAB R2007基础教程基础教程 清华大学出版社清华大学出版社多项式的运算函数(多项式的运算函数(1/2)lroots 函数和函数和 poly 函数函数 这两个函数为功能互逆的两个函数。这两个函数为功能互逆的两个函数。roots 函数函数用于求解多项式的根

8、。该函数的输入参数为多项用于求解多项式的根。该函数的输入参数为多项式的系数组成的行向量,返回值为由多项式的根式的系数组成的行向量,返回值为由多项式的根组成的列向量。组成的列向量。poly 函数用于生成根为制定数值函数用于生成根为制定数值的多项式。的多项式。lpolyval 函数函数polyval 函数用于多项式求值。对于给定的多项函数用于多项式求值。对于给定的多项式,利用该函数可以计算该多项式在任意点的值。式,利用该函数可以计算该多项式在任意点的值。涤哆蔑均纶衅惦朱汐弄侥工兹陆虏敏元阿埂你溃厨暇便参嵌渔宴滑摔骏禄第5章MATLAB的数运算第5章MATLAB的数运算8/3/20248MATLAB

9、 R2007基础教程基础教程 清华大学出版社清华大学出版社多项式的运算函数(多项式的运算函数(2/2)lpolyder 函数函数l函数函数 polyder 用于多项式求导。该函数可以用于用于多项式求导。该函数可以用于求解一个多项式的导数、两个多项式乘积的导数求解一个多项式的导数、两个多项式乘积的导数和两个多项式商的导数。该函数的用法为:和两个多项式商的导数。该函数的用法为:q = polyder(p) 该命令计算多项式该命令计算多项式 p 的导数。的导数。c = polyder(a,b) 该命令实现多项式该命令实现多项式 a、b 的积的导数。的积的导数。q,d = polyder(a,b) 该

10、命令实现多项式该命令实现多项式a、b 的商的的商的导数,导数,q/d 为最后的结果。为最后的结果。 殆盲矽脐穷司季惯跨哈呛鞍汉同纪济齐序孝宅皂搔惨曼英奢形甜湛闲甘芦第5章MATLAB的数运算第5章MATLAB的数运算8/3/20249MATLAB R2007基础教程基础教程 清华大学出版社清华大学出版社多项式拟合多项式拟合 l曲线拟合是工程中经常要用到的技术之一。曲线拟合是工程中经常要用到的技术之一。MATLAB 提供了曲线拟合工具箱满足用户提供了曲线拟合工具箱满足用户要求,另外,还提供了多项式拟合函数。要求,另外,还提供了多项式拟合函数。函数函数 polyfit 给出在最小二乘意义下最佳拟给

11、出在最小二乘意义下最佳拟合系数。该函数的调用格式为:合系数。该函数的调用格式为: p = polyfit(x,y,n)其中其中x、y分别为待拟合数据的分别为待拟合数据的 x 坐标和坐标和 y 坐标,坐标,n 用于指定返回多项式的次数。用于指定返回多项式的次数。目涡哪雅鞋查声村需菇燕屁滁招股晕疽其销滦豆厌砾羹甫颂赴伙梧酪吕赌第5章MATLAB的数运算第5章MATLAB的数运算8/3/202410MATLAB R2007基础教程基础教程 清华大学出版社清华大学出版社数据插值数据插值l根据已知数据推断未知数据,则需要使用根据已知数据推断未知数据,则需要使用数据插值的概念。数据插值的概念。MATLAB

12、 提供了对数组提供了对数组的任意一维进行插值的工具,这些工具大的任意一维进行插值的工具,这些工具大多需要用到多维数组的操作。本节将对数多需要用到多维数组的操作。本节将对数据插值做简单的介绍,主要介绍一维插值。据插值做简单的介绍,主要介绍一维插值。lMATLAB 中一维插值主要有:中一维插值主要有:多项式插值多项式插值快速傅立叶变换(快速傅立叶变换(FFT)插值。)插值。 缸廓科镇诲抵洋石硒及褪徊逛肢霹诧此嘛墨褥错吠便尊案弦饼砷欢亦溜搅第5章MATLAB的数运算第5章MATLAB的数运算8/3/202411MATLAB R2007基础教程基础教程 清华大学出版社清华大学出版社一维插值一维插值l一

13、维插值在曲线拟合和数据分析中具有重要一维插值在曲线拟合和数据分析中具有重要的地位。在的地位。在 MATLAB 中,一维插值由函数中,一维插值由函数 interp1 实现。该函数的调用格式为实现。该函数的调用格式为 yi = interp1(x,y,xi,method)x、y:采用数据的:采用数据的 x 坐标和坐标和 y 坐标坐标xi :待插值的位置:待插值的位置method:采用的插值方法:采用的插值方法l该语句返回函数在点该语句返回函数在点 xi 处的插值结果。该处的插值结果。该语句中的参数语句中的参数 method 可以选择的内容如可以选择的内容如表所示。表所示。参数对应方法nearest

14、最近邻插值linear线性插值spline三次样条插值pchip或cubic三次插值思屡里绍枷缠喉涤艇椿队汐砚偶葫净蔑湘官帽犬冈这奈晨彰庭樊穆沏涣颗第5章MATLAB的数运算第5章MATLAB的数运算8/3/202412MATLAB R2007基础教程基础教程 清华大学出版社清华大学出版社外插运算外插运算l当插值点落在已知数据集的外部时,需要对该点当插值点落在已知数据集的外部时,需要对该点进行插值估算,这种外插估值是比较难的。进行插值估算,这种外插估值是比较难的。MATLAB中没有指定外插算法时,对已知数据集中没有指定外插算法时,对已知数据集外部点上函数值的估计都返回外部点上函数值的估计都返回

15、NaN。l需要外插运算时,可以通过需要外插运算时,可以通过interp1函数添加函数添加extrap参数,指明所用的插值算法也用于外参数,指明所用的插值算法也用于外插运算。插运算。 语法格式:语法格式: yi = interp1(x,y,xi,method,extrap)夺垂翱擎仲滑违师琅验酌刺玫叼氰齐贪乙直塞噶绚辈讥凭臆钧碎栖戊风冻第5章MATLAB的数运算第5章MATLAB的数运算8/3/202413MATLAB R2007基础教程基础教程 清华大学出版社清华大学出版社函数运算函数运算l函数的表示函数的表示l数学函数图象的绘制数学函数图象的绘制l函数极值函数极值l函数求解函数求解l数值积分

16、数值积分l含参数函数的使用含参数函数的使用 撮辽扒画区盛礁翻伐根住攀赊贵标雍雾腊骇逻绊响堪懈啡母凳楷埂厦度踌第5章MATLAB的数运算第5章MATLAB的数运算8/3/202414MATLAB R2007基础教程基础教程 清华大学出版社清华大学出版社函数的表示函数的表示lMATLAB 中提供了两种函数表示的方法:中提供了两种函数表示的方法:利用利用 M 文件将函数定义为文件将函数定义为 MALTAB 函数函数将函数定义为将函数定义为 MALTAB 函数,当需要调用该函数,当需要调用该函数时,需要通过符号函数时,需要通过符号“”获取函数句柄,利获取函数句柄,利用函数句柄实现对函数的操作。用函数句

17、柄实现对函数的操作。匿名函数方法匿名函数方法直接创建函数,如语句:直接创建函数,如语句: fh = (x)1./(x-0.3).2 + 0.01) + 1./(x-0.9).2 + 0.04)-6; 才貉癣蝇窃员告参妖疼慧悼两崭猾觅妄牺约腊拍守拇晕纸牟烫派锅秤耻淹第5章MATLAB的数运算第5章MATLAB的数运算8/3/202415MATLAB R2007基础教程基础教程 清华大学出版社清华大学出版社数学函数图象的绘制数学函数图象的绘制 l函数图象具有直观的特性,可以通过函数图象查看出一个函数图象具有直观的特性,可以通过函数图象查看出一个函数的总体特征。函数的总体特征。MATLAB 提供了绘

18、制函数图象的函数提供了绘制函数图象的函数 fplot,方便用户绘制函数的图象。下面介绍该函数的用法。,方便用户绘制函数的图象。下面介绍该函数的用法。该函数的调用格式如下:该函数的调用格式如下:fplot(fun,limits),y = f(x)fplot(fun,limits,LineSpec)fplot(fun,limits,tol)fplot(fun,limits,tol,LineSpec)fplot(fun,limits,n) fun 可以为 MATLAB 函数的 M 文件名,可以是包含变量 x 的字符串,该字符串可以传递给函数 eval,还可以是函数句柄。参数 limits用于指定绘制

19、图象的范围。limits 是一个向量,用于指定 x 轴的范围,格式为 xmin xmax。limits 也可以同时指定 y 轴的范围,格式为 xmin xmax ymin ymax。本练抓窃朴初终械渴积蔷雍吕吸隔出糯懦芜孽帖缺扣冕大弟今渝敛限毁踞第5章MATLAB的数运算第5章MATLAB的数运算8/3/202416MATLAB R2007基础教程基础教程 清华大学出版社清华大学出版社函数极值函数极值 l一元函数的极小值一元函数的极小值lfminbnd 求得函数在给定区间内的局部极小值。该求得函数在给定区间内的局部极小值。该函数的调用格式为函数的调用格式为x = fminbnd(fun,x1,

20、x2,options)fun 为函数句柄为函数句柄x1 和和 x2 分别用于指定区间的左右边界分别用于指定区间的左右边界options 用于指定程序的其他参数,其元素取值如表所用于指定程序的其他参数,其元素取值如表所示。示。 名称描述Display控制结果的输出,参数可以为“off”,不输出任何结果;“iter”,输出每个插值点的值;“final”,输出最后结果;“notify”为默认值,仅当函数不收敛时输出结果FunValCheck检测目标函数值是否有效。选择 on 则当函数返回数据为复数或空数据时发出警告;off 则不发出警告MaxFunEvals允许进行函数评价的最大次数MaxIter最

21、大迭代次数OutputFcn指定每次迭代时调用的用户自定义的函数TolX返回的 x 的误差掳剧百洛掌痕算宇咬铱褪轻检巫玉乾萨痰哄恃燎锁枪卞机隙停闸青链羊穴第5章MATLAB的数运算第5章MATLAB的数运算8/3/202417MATLAB R2007基础教程基础教程 清华大学出版社清华大学出版社多元函数的极小值多元函数的极小值lMATLAB 提供了函数提供了函数 fminsearch 用于计算多元函数的用于计算多元函数的极小值。极小值。fminsearch 函数内部应用了函数内部应用了 Nelder-Mead 单一单一搜索算法,通过调整搜索算法,通过调整 x 的各个元素的值来寻找的各个元素的值

22、来寻找f(x)的极小的极小值。该算法虽然对于平滑函数搜索效率没有其他算法高,值。该算法虽然对于平滑函数搜索效率没有其他算法高,但它不需要梯度信息,从而扩展了其应用范围。因此,该但它不需要梯度信息,从而扩展了其应用范围。因此,该算法特别适用于不太平滑、难以计算梯度信息或梯度信息算法特别适用于不太平滑、难以计算梯度信息或梯度信息价值不大的函数。价值不大的函数。 l用于求解函数极小值的函数还有用于求解函数极小值的函数还有 fminbnd。fminbnd 函函数的用法与数的用法与fminsearch 函数的用法基本相同,不同之处函数的用法基本相同,不同之处在于:在于:fminbnd 函数的输入参数为寻

23、找最小值的区间,并函数的输入参数为寻找最小值的区间,并且只能用于求解一元函数的极值,且只能用于求解一元函数的极值,fminsearch 函数的输函数的输入参数为初始值。入参数为初始值。挟拌总片览永娃厂韦基裁咀扳韶妓苏欺此购蛙窟星地壶锹岭酋笆紊谓秉喧第5章MATLAB的数运算第5章MATLAB的数运算8/3/202418MATLAB R2007基础教程基础教程 清华大学出版社清华大学出版社 函数求解函数求解 l可以使用函数可以使用函数 fzero() 来求一元函数的零点。寻找一元函来求一元函数的零点。寻找一元函数零点时,可以指定一个初始点,或者指定一个区间。当数零点时,可以指定一个初始点,或者指

24、定一个区间。当指定一个初始点时,此函数在初始点附近寻找一个使函数指定一个初始点时,此函数在初始点附近寻找一个使函数值变号的区间,如果没有找到这样的区间,则函数返回值变号的区间,如果没有找到这样的区间,则函数返回 NaN。该函数的调用格式为:。该函数的调用格式为:x = fzero(fun,x0),x = fzero(fun,x1,x2):寻找:寻找 x0 附近或者区附近或者区间间 x1,x2 内内 fun 的零点,返回该点的的零点,返回该点的 x 坐标;坐标;x = fzero(fun,x0,options),x = fzero(fun, x1,x2,options):通:通过过 option

25、s 设置参数;设置参数;x,fval = fzero(.):返回零点的同时返回该点的函数值;:返回零点的同时返回该点的函数值;x,fval,exitflag = fzero(.):返回零点、该点的函数值及程序:返回零点、该点的函数值及程序退出的标志;退出的标志;x,fval,exitflag,output = fzero(.):返回零点、该点的函数:返回零点、该点的函数值、程序退出的标志及选定的输出结果。值、程序退出的标志及选定的输出结果。 柿维泡行驾婆披虑棱谤绑粥柔隧娜侨羊坞询励砒鸣桔屿桌永煮臻京酿帧尊第5章MATLAB的数运算第5章MATLAB的数运算8/3/202419MATLAB R2

26、007基础教程基础教程 清华大学出版社清华大学出版社数值积分数值积分 lMATLAB 中提供了用于积分的函数,包括:中提供了用于积分的函数,包括:一元函数的自适应数值积分一元函数的自适应数值积分一元函数的矢量积分一元函数的矢量积分二重积分和三重积分二重积分和三重积分l这些函数如表所示。这些函数如表所示。函数函数功能功能quad一元函数的数值积分,采用自适应的 Simpson 方法quadl一元函数的数值积分,采用自适应的 Lobatto 方法quadv一元函数的向量数值积分一元函数的向量数值积分dblquad二重积分二重积分triplequad三重积分三重积分杯裴高呛花括浚箭象询殴蔓札梨烧忠肇

27、拥炒染馅斌买玖斡博讹诫首蔚桂涉第5章MATLAB的数运算第5章MATLAB的数运算8/3/202420MATLAB R2007基础教程基础教程 清华大学出版社清华大学出版社一元函数的积分一元函数的积分lMATLAB 中一元函数的积分可以用两个函数来实现:中一元函数的积分可以用两个函数来实现:quad 和和 quadl。函数。函数 quad 采用低阶的自适应递归采用低阶的自适应递归 Simpson 方法,函数方法,函数 quadl 采用高阶自适应采用高阶自适应 Lobatto 方方法,该函数是法,该函数是 quad8 函数的替代。函数函数的替代。函数 quad 的调用格的调用格式如下:式如下:q

28、 = quad(fun,a,b),采用递归自适应方法计算函数,采用递归自适应方法计算函数 fun 在区间在区间 上的积分,其精确度为上的积分,其精确度为 1e-6。q = quad(fun,a,b,tol),指定允许误差,指定的误差,指定允许误差,指定的误差 tol 需大于需大于 1e-6。该命令运行更快,但是得到的结果精确度降低。该命令运行更快,但是得到的结果精确度降低。q = quad(fun,a,b,tol,trace),跟踪迭代过程,输出,跟踪迭代过程,输出 fcnt a b-a Q 的值,分别为计算函数值的次数、当前积分区间的左边界、步的值,分别为计算函数值的次数、当前积分区间的左边

29、界、步长和该区间内的积分值。长和该区间内的积分值。q,fcnt = quadl(fun,a,b,.),输出函数值的同时输出计算函数,输出函数值的同时输出计算函数值的次数。值的次数。 大奠但载貉盔缸忙颧蜘捏惊躬判僚缠谆呜椭高商修氯譬炽缺釉狗模疲破刁第5章MATLAB的数运算第5章MATLAB的数运算8/3/202421MATLAB R2007基础教程基础教程 清华大学出版社清华大学出版社一元函数的矢量积分一元函数的矢量积分l矢量积分相当于多个一元函数积分。当被矢量积分相当于多个一元函数积分。当被积函数中含有参数,需要对该参数的不同积函数中含有参数,需要对该参数的不同值计算该函数的积分时,可以使用

30、一元函值计算该函数的积分时,可以使用一元函数的矢量积分。数的矢量积分。l矢量积分返回一个向量,每个元素的值为矢量积分返回一个向量,每个元素的值为一个一元函数的积分值。一个一元函数的积分值。quadv 函数与函数与 quad 和和 quadl 函数相似,可以设置积分参函数相似,可以设置积分参数和结果输出。数和结果输出。 了征絮渐医楼层深盘梨硝采灿测安撤践浮罗罕菊贾巢讽挎锚着吃垦鸦衍边第5章MATLAB的数运算第5章MATLAB的数运算8/3/202422MATLAB R2007基础教程基础教程 清华大学出版社清华大学出版社二重积分和三重积分二重积分和三重积分lMATLAB 中二重积分和三重积分分

31、别由函数中二重积分和三重积分分别由函数 dblquad() 和函数和函数 triplequad() 来实现。首先介绍函数来实现。首先介绍函数 dblquad(),该函数的基本格式如下:该函数的基本格式如下:q = dblquad(fun,xmin,xmax,ymin,ymax),函数的参数分别为函,函数的参数分别为函数句柄、两个自变量的积分限,返回积分结果。数句柄、两个自变量的积分限,返回积分结果。q = dblquad(fun,xmin,xmax,ymin,ymax,tol),指定积分结果的,指定积分结果的精度。精度。q = dblquad(fun,xmin,xmax,ymin,ymax,t

32、ol,method),指定结,指定结果精度和积分方法,果精度和积分方法,method 的取值可以是的取值可以是 quadl,也可以是用,也可以是用户自定义的积分函数句柄,该函数的调用格式必须与户自定义的积分函数句柄,该函数的调用格式必须与 quad 的调的调用格式相同。用格式相同。ltriplequad() 函数的调用格式和函数的调用格式和 dblquad() 基本相同,在基本相同,在调用调用 triplequad() 函数时,需要六个参数指定积分限。函数时,需要六个参数指定积分限。 傅瞳妮倔贩痉莆襟靖脊塔乎艳塞玄芥霓掘娄兼口枣瘪昨尔肇茧壮诛厚迸吵第5章MATLAB的数运算第5章MATLAB的

33、数运算8/3/202423MATLAB R2007基础教程基础教程 清华大学出版社清华大学出版社含参数函数的使用含参数函数的使用 l在很多情况下,需要进行运算的函数中包在很多情况下,需要进行运算的函数中包含参数。在含参数。在 MATLAB 中使用含参函数的方中使用含参函数的方式有两种:式有两种:嵌套函数嵌套函数匿名函数。匿名函数。咱枉次良兆舀骋引殊巷茬冷税咱咸烃配讶掸嗅泡舒怎词缀防确诞浮国祈猛第5章MATLAB的数运算第5章MATLAB的数运算8/3/202424MATLAB R2007基础教程基础教程 清华大学出版社清华大学出版社用嵌套函数提供函数参数用嵌套函数提供函数参数l使用含参函数的一

34、个方法是编写一个使用含参函数的一个方法是编写一个 M 文文件,该文件以函数参数作为输入,然后调件,该文件以函数参数作为输入,然后调用函数的函数来处理含参函数,最后把含用函数的函数来处理含参函数,最后把含参函数以嵌套函数的方式包含在参函数以嵌套函数的方式包含在 M 文件中。文件中。 因琶松屹营蝗脆祥蓖尚幻拷轻脯疡村当鹰剧驮磷孪珍币柑元二废路稀稿希第5章MATLAB的数运算第5章MATLAB的数运算8/3/202425MATLAB R2007基础教程基础教程 清华大学出版社清华大学出版社用匿名函数提供函数参数用匿名函数提供函数参数 l使用含参函数还可以通过匿名函数来实现,使用含参函数还可以通过匿名

35、函数来实现,函数的参数在使用之前必须先赋值。具体函数的参数在使用之前必须先赋值。具体步骤为:步骤为:1.首先创建一个含参函数,保存为首先创建一个含参函数,保存为 M 文件。函文件。函数的输入为自变量数的输入为自变量 x 和函数参数;和函数参数;2.在调用函数的函数前对参数赋值;在调用函数的函数前对参数赋值;3.用含参函数创建匿名函数;用含参函数创建匿名函数;4.把匿名函数的句柄传递给函数的函数进行计算。把匿名函数的句柄传递给函数的函数进行计算。子击戌阑酞测怎抉赦悦症飘茁乾昼姐仙拿连掏槽卡障侵峪狙腥昌碍杖痘键第5章MATLAB的数运算第5章MATLAB的数运算8/3/202426MATLAB R

36、2007基础教程基础教程 清华大学出版社清华大学出版社微分方程微分方程 lMATLAB 能够求解的微分方程类型包括能够求解的微分方程类型包括:常微分方程初值问题常微分方程初值问题常微分方程边值问题常微分方程边值问题时滞微分方程初值问题时滞微分方程初值问题偏微分方程偏微分方程 蚊晕傀酪兹祭晌肝稀工宽幽疽浇方婚磺颊仟肤酿排存接运砂被曲靡大涩洁第5章MATLAB的数运算第5章MATLAB的数运算8/3/202427MATLAB R2007基础教程基础教程 清华大学出版社清华大学出版社常微分方程初值问题常微分方程初值问题 lMATLAB 可以求解的常微分方程包括下可以求解的常微分方程包括下面三种类型:

37、面三种类型:1.显式常微分方程显式常微分方程2.线性隐式常微分方程,线性隐式常微分方程, ,其,其中中 为矩阵为矩阵3.全隐式常微分方程全隐式常微分方程涤钡哆逾崖庞幌痕俄垮虱廷新钵谆古民怪态靖气洁桅漱合祟哇啊校理穷桃第5章MATLAB的数运算第5章MATLAB的数运算8/3/202428MATLAB R2007基础教程基础教程 清华大学出版社清华大学出版社显式常微分方程显式常微分方程 lMATLAB 可以求解刚性方程和非刚性方程。求解可以求解刚性方程和非刚性方程。求解微分方程的命令格式为:微分方程的命令格式为:t,y = solver(odefun,tspan,y0,options)odefu

38、n:待求解方程的句柄:待求解方程的句柄tspan:为积分区间:为积分区间y0:为一个向量,包括问题的初始条件:为一个向量,包括问题的初始条件Options:用于指定求解算法。对于刚性方程和非刚性:用于指定求解算法。对于刚性方程和非刚性方程,可以选择的算法不同。对于非刚性方程,可以方程,可以选择的算法不同。对于非刚性方程,可以选择的算法如下:选择的算法如下:ode45:基于显式 Runge-Kutta(4,5) 规则求解 串比光豫颅舵夕鸿帅形热鼠曳梧淘叔疙期肮卧妻控凉哥无囱岸遭冒啤崭锦第5章MATLAB的数运算第5章MATLAB的数运算8/3/202429MATLAB R2007基础教程基础教程

39、 清华大学出版社清华大学出版社l对于非刚性方程,可以选择的算法如下:对于非刚性方程,可以选择的算法如下:ode45:基于显式:基于显式 Runge-Kutta(4,5) 规则求解规则求解ode23:基于显式:基于显式 Runge-Kutta(2,3) 规则求解规则求解 ode113: 利用变阶利用变阶 Adams-Bashforth-Moulton 算法求解算法求解 檬劈棉蜕己扎宝霖雹鸳廉听域瘩绥瓤纪础投韩遭锋键噬忘主焦吕淘耻捧椭第5章MATLAB的数运算第5章MATLAB的数运算8/3/202430MATLAB R2007基础教程基础教程 清华大学出版社清华大学出版社l刚性方程的求解方法如下

40、刚性方程的求解方法如下 :ode15s:基于数值积分公式的变阶求解算法:基于数值积分公式的变阶求解算法ode23s:采用二阶改进:采用二阶改进 Rosenbrock 公式的公式的算法算法ode23t:采用自由内插的梯形规则:采用自由内插的梯形规则ode23tb:采用:采用 TR-BDF2 算法,该算法为隐算法,该算法为隐式式 Runge-Kutta 公式,包含两个部分,第一公式,包含两个部分,第一个部分为梯形规则,第二个部分为二阶后向差个部分为梯形规则,第二个部分为二阶后向差分。分。首烧丈异坞舵正束膏靛镶爪瓣徊钝恰舟虫姜媒窗对虫垮盈榴微消侵瓢颠涩第5章MATLAB的数运算第5章MATLAB的数

41、运算8/3/202431MATLAB R2007基础教程基础教程 清华大学出版社清华大学出版社完全隐式常微分方程完全隐式常微分方程 l完全隐式常微分方程的形式为:完全隐式常微分方程的形式为: 。函数函数 ode15i 用于求解完全隐式常微分方程。用于求解完全隐式常微分方程。用法为:用法为:t,y = ode15i(odefun,tspan,y0,yp0,options)Odefun:为待求解方程:为待求解方程Tspan:用于指定积分区间:用于指定积分区间y0 和和 yp0: 分别用于指定初值分别用于指定初值 和和 ,这,这两个初值必须一致,即满足两个初值必须一致,即满足 。Options:可选

42、参数,用于指定积分方法。:可选参数,用于指定积分方法。l该函数输出在离散节点处的近似值。该函数输出在离散节点处的近似值。 赴峡喻仟奉融氖趾空肌峰郭熏甸趴妒膜进支邀瓶戍勘怜燃沃据障燥瞄享乞第5章MATLAB的数运算第5章MATLAB的数运算8/3/202432MATLAB R2007基础教程基础教程 清华大学出版社清华大学出版社常微分方程边值问题常微分方程边值问题 lbvp4c 函数用于求解常微分方程边值问题,函数用于求解常微分方程边值问题,该函数点调用格式为:该函数点调用格式为:sol = bvp4c(odefun,bcfun,solinit)sol = bvp4c(odefun,bcfun,solinit,options)Odefun:待求解的函数句柄bcfun:函数边值条件的函数句柄solinit:一个结构体,为该方程解的初始估计值。options:可选参数,用于指定积分算法,该参数为一个结构体,可以通过函数 bvpset 创建。时澄矗伎土硫布胚塔豆瀑瞅达艾铅风戊坏产敝兹眩甫鳞豁畴山姬扯净安袜第5章MATLAB的数运算第5章MATLAB的数运算8/3/202433

展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 建筑/环境 > 施工组织

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号