网站大量收购闲置独家精品文档,联系QQ:2885784924

第4章数值计算解析.doc

  1. 1、本文档共10页,可阅读全部内容。
  2. 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
第4章数值计算解析

第四章 数值计算 MATLAB提供高性能的数学运算功能,特别是在数值分析方面,例如数值微分、数值积分、插值、求极值、方程求根、付立叶变换、常微分方程数直解、留数计算等,在求解各种工程问题时得到了广泛应用。 4.1 多项式运算 4.1.1多项式的表示法 多项式以行向量表示,其中元素为按降幂排列的多项式的系数。 【例 4-1】将多项式以向量表示。 解:将多项式看成一元三次多项式,表示为:[1 2 1]。 如果将多项式看成一元四次多项式,应表示为:[0 1 2 1]。 4.1.2多项式运算 多项式的加减运算通过与多项式对应的行向量之间的加减运算实现,要求参与运算的行向量规模相同。 多项式的乘除运算通过conv和deconv实现。 conv(u,v)函数:求两向量卷积,此例中用以求得两多项式之积。 [q,r]=deconv(u,v)函数:求两多项式相除的结果,u为被除多项式。 【例4-2】求的“商”及“余”。 解:编写matlab程序: fz=conv([1,0,2],[2,4])+[0,3,0,1]; %计算分子多项式,注意缺项补零 fm=[1 0 2 1]; [q,r]=deconv(fz,fm); quotient=商多项式为 ; yu=余多项式为 ; disp([quotient,poly2str(q,x)]),disp([yu,poly2str(r,x)]) 运算结果: 商多项式为 2 余多项式为 7 x^2 + 7 4.1.3多项式求根 roots函数求多项式为0的根。 表达形式:r= roots(p) p是多项式系数形成的行向量,多项式由一个行向量表示,它的系数按降序排列。 r为多项式为0的根,是一个列向量。 【例4-3】,计算其根。 解:在MATLAB命令窗输入: p = [1 9 23 15] r = roots (p) 得结果: r = -1.0000 -3.0000 -5.0000 poly函数:求已知根所对应的多项式。 【例4-4】 已知根-1、-3、-5,求多项式系数。 解:在MATLAB命令窗输入: S = poly ( [ -1 -3 -5 ]’ ) S = 1.0000 9.0000 23.0000 15.0000 % 返回行向量是多项式系数向量。 FX=poly2str(S,x) % 以习惯的方式显示多项式 4.1.4 求多项式的值 polyval函数:求多项式值。 表达形式:polyval(p,x)。 p是多项式系数行向量,返回多项式在x的值。 【例4-5】 求在 x = 2 时的值。 解:在MATLAB命令窗输入: p = [1 -3 -4 15]; polyval(p, 2) ans =3 polyvalm函数:将矩阵作为变量来计算多项式的值,使用格式: Y=polyvalm(p,X) --p为多项式,X为已知的矩阵,返回也是一个矩阵。 【例4-6】 已知,求。 解:编写MATLAB程序: X=[1 2;3 4]; p=[3 –4 15]; FX=polyvalm(p,X) 运算结果: FX = 32 22 65 4.1.5 多项式展开 Residue留数函数,可用于多项式展开,在电路的复频域分析中,可以用它进行拉氏反变化。 假定 (1) 可化为: (2) 是真分式,上式可化为: 给定B(s)、A(s),用residue函数可求出r1,r2, ...... rn , p1, p2, .....pn,和k1, k2 , .....kn 。 表达形式:[r,p,k]=residue(num,den) num是B(s)多项式子系数按降序排列的行向量,den是A(s)多项式子系数按降序排列的行向量。 命令[num,den]=residue(r,p,k)将(2)式转换成(1)式。 【例4-7】 假定,求部分分式展开。 解:在MATLAB输入如下命令: num=[4 3 6 10 20]; den=[1 2 5 2 8]; [r,p,k]=residue(num,den) 得结果: r = -1.6970 + 3.0171i -1.6970 - 3.0171i -0.8030 - 0.9906i -0.8030 + 0.9906i p = -1.2629 + 1.7284i -1.2629 - 1.7284i 0.2629 + 1.2949i 0.2629 - 1.2949i k = 4 即: 4.1.6 多项式求导 polyder(A)函数用于求多项式的

文档评论(0)

2299972 + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档