好文档就是一把金锄头!
欢迎来到金锄头文库![会员中心]
电子文档交易市场
安卓APP | ios版本
电子文档交易市场
安卓APP | ios版本

第4章 MATLAB 数值计算教学讲义.ppt

47页
  • 卖家[上传人]:youn****329
  • 文档编号:266383726
  • 上传时间:2022-03-15
  • 文档格式:PPT
  • 文档大小:488KB
  • / 47 举报 版权申诉 马上下载
  • 文本预览
  • 下载提示
  • 常见问题
    • 单击此处编辑母版标题样式单击此处编辑母版副标题样式*1第4章 MATLAB 数值计算(2) 第第4 4章章 数值计算数值计算 (2) (2)4.4 多项式函数l4.4.1 多项式的表示MATLAB中多项式的表示方法 :例如:行向量 p=1 -12 0 25 116对应的多项式为:l2MATLAB 7.X程序设计第第4 4章章 数值计算数值计算 (2) (2)4.4.2多项式的算术运算1 加减运算 l3MATLAB 7.X程序设计第第4 4章章 数值计算数值计算 (2) (2)第第4 4章章 数值计算数值计算 (2) (2)2 乘法运算 MATLAB支持多项式乘法,函数格式为:函数conv(P1,P2) 求多项式P1和P2的乘积这里,P1,P2是两个多项式系数向量例 4-44 计算c=conv(1 2 2,1 5 4)执行结果如下:c = 1 7 16 18 8由执行结果可知:l5MATLAB 7.X程序设计第第4 4章章 数值计算数值计算 (2) (2)3 除法运算Q,r=deconv(P1,P2) 对多项式P1和P2作除法运算其中Q返回多项式P1除以P2的商式,r返回P1除以P2的余式。

      注意deconv是conv的逆函数,即有P1=conv(P2,Q)+r l6MATLAB 7.X程序设计第第4 4章章 数值计算数值计算 (2) (2)例4-45 计算Q=deconv(1 8 0 0 -10,2 -1 3)Q = 0.5000 4.2500 1.3750Q,r=deconv(1 8 0 0 -10,2 -1 3)执行结果如下:Q = 0.5000 4.2500 1.3750r = 0 0 0 -11.3750 -14.1250由执行结果可知商是:余式是:l7MATLAB 7.X程序设计第第4 4章章 数值计算数值计算 (2) (2)4.4.3 导函数lp=polyder(P) 求多项式P的导函数plp=polyder(P,Q) 求PQ的导函数plp,q=polyder(P,Q) 求P/Q的导函数,导函数的分子存入p,分母存入ql8MATLAB 7.X程序设计第第4 4章章 数值计算数值计算 (2) (2)例4-46 求的导数p=3 -2 1;polyder(p)执行结果为:ans = 6 -2结果是 l9MATLAB 7.X程序设计第第4 4章章 数值计算数值计算 (2) (2)a=3 -2 1;b=4 5 6;polyder(a,b)执行结果为:ans =48 21 24 -7结果是 例4-47 求的导数l10MATLAB 7.X程序设计第第4 4章章 数值计算数值计算 (2) (2)例4-48 求 的导数。

      a=3 -2 1;b=4 5 6; q,d=polyder(a,b)执行结果为:q = 23 28 -17d =16 40 73 60 36l11MATLAB 7.X程序设计第第4 4章章 数值计算数值计算 (2) (2)例4-49 求有理分式 的导数 P=1;Q=1,0,5;p,q=polyder(P,Q)执行结果为:p = -2 0q = 1 0 10 0 25l12MATLAB 7.X程序设计第第4 4章章 数值计算数值计算 (2) (2)4.4.4 多项式求根l x=roots(P)其中P为多项式的系数向量,求得的根赋给向量x,即x(1),x(2),x(n)分别代表多项式的n个根l给出一个多项式的根,可以构造相应的多项式若已知多项式的全部根,则可以用poly函数建立起多项式,其调用格式为: P=poly(x)x为具有n个元素的向量,poly(x)为以x为其根的多项式,且将该多项式的系数赋给向量P l13MATLAB 7.X程序设计第第4 4章章 数值计算数值计算 (2) (2)例4-50 求多项式的 根A=1,8,0,0,-10;x=roots(A)执行结果如下:x =-8.0194 1.0344 -0.5075 + 0.9736i -0.5075 - 0.9736i由结果可以看出,方程的根为两个实根和一对共轭复根 l14MATLAB 7.X程序设计第第4 4章章 数值计算数值计算 (2) (2)例4-51 求方程 的根。

      r=1 -7 2 40; p=roots(r);执行结果如下:p =5.0000 4.0000 -2.0000由结果可以看出,方程的根均为实根5.000,4.0000和-2.0000l15MATLAB 7.X程序设计第第4 4章章 数值计算数值计算 (2) (2)例 4-52已知 (1) 计算 的全部根2) 由方程 的根构造一个多项式并与 进进行对对比 P=3,0,4,-5,-7.2,5;X=roots(P) %求方程f(x)=0的根G=poly(X) %求多项式G(x)l16MATLAB 7.X程序设计第第4 4章章 数值计算数值计算 (2) (2)执行结果为:X = -0.3046 + 1.6217i -0.3046 - 1.6217i -1.0066 1.0190 0.5967 G =1.0000 0.0000 1.3333 -1.6667 -2.4000 1.6667注意:构造的多项式的首项系数为1 l17MATLAB 7.X程序设计第第4 4章章 数值计算数值计算 (2) (2)4.4.5多项式估值1 代数多项式求值 Y=polyval(P,x)求代数多项式的值若x为一常数,则求多项式P在该点的值, Y = P(1)x N + P(2) x (N-1) + . + P(N) x + P(N+1)若x为向量或矩阵,则对向量或矩阵中的每个元素求多项式P的值,返回值为与自变量同型的向量或矩阵。

      l18MATLAB 7.X程序设计第第4 4章章 数值计算数值计算 (2) (2)例4-53 已知 分别计算 和 时 的值P=1 8 0 0 -10;x=1.2;Y=polyval(P,x)执行结果如下:Y = 5.8976y=2 3 4;5 4 1;Y=polyval(P,y)执行结果如下:Y = 70 287 758 1615 758 -1 l19MATLAB 7.X程序设计第第4 4章章 数值计算数值计算 (2) (2)2 矩阵多项式求值polyvalm函数用来求矩阵多项式的值,要求以方阵x为自变量求多项式的值 l20MATLAB 7.X程序设计第第4 4章章 数值计算数值计算 (2) (2)例4-54 当x取 时求 的值p=1 -5 0 8;a=2 3 5 ;5 8 1;7 6 9;polyvalm(p,a)执行结果:ans = 552 690 562 548 686 538 1148 1422 1154l21MATLAB 7.X程序设计第第4 4章章 数值计算数值计算 (2) (2)polyval(p,a)执行结果:ans = -4 -10 8 8 200 4 106 44 332l22MATLAB 7.X程序设计第第4 4章章 数值计算数值计算 (2) (2)例4-55 当x=8时求(x-1)(x-2) (x-3)(x-4) 的值。

      p=poly(1 2 3 4), polyvalm(p,8)执行结果如下:p = 1 -10 35 -50 24ans = 840l23MATLAB 7.X程序设计第第4 4章章 数值计算数值计算 (2) (2)4.4.6 部分分式函数 R,P,K=residue(B,A)功能:返回部分分式和余数R为极点,P为零点 ,K为余数 l24MATLAB 7.X程序设计第第4 4章章 数值计算数值计算 (2) (2)例4-56 求 的部分分式 num=10*1 2 ; % numerator polynomialden=poly(-1;-3; -4);%denominator polynomialres, poles, k=residue(num, den)l25MATLAB 7.X程序设计第第4 4章章 数值计算数值计算 (2) (2)执行结果为:res = -6.6667 5.0000 1.6667poles =-4.0000-3.0000 -1.0000k = l26MATLAB 7.X程序设计第第4 4章章 数值计算数值计算 (2) (2)4.4.7多项式积分 polyint (P,K) 返回多项式P的积分。

      K 为常数项(默认值为0 ) l27MATLAB 7.X程序设计第第4 4章章 数值计算数值计算 (2) (2)例4-57 求 p=3 -2 1;polyint(p,2)ans = 1 -1 1 2polyint(p) % 常数为0ans = 1 -1 1 0由执行结果可知:(为常数项,本例中为2和0)l28MATLAB 7.X程序设计第第4 4章章 数值计算数值计算 (2) (2)4.5插值和拟合4.5.1数值插值1 一维数值插值 Y1=interp1(X,Y,X1,method) 函数根据X,Y的值,计算函数在X1处的值X,Y是两个等长的已知向量,描述数据点,X1是一个向量或标量,描述欲插值的点,Y1是一个与X1等长的插值结果 l29MATLAB 7.X程序设计第第4 4章章 数值计算数值计算 (2) (2)method是插值方法,可用的方法有:linear 默认方法,线性插值nearest 最邻近插值spline 三次样条插值cubic 三次插值,要求x的值等距离 所有插值方法均要求x是单调的注意:X1的取值范围不能超出X的给定范围,否则,会给出“NaN”错误 l30MATLAB 7.X程序设计第第4 4章章 数值计算数值计算 (2) (2)例4-58 求正弦、余弦函数在区间0 1内间 隔为0.25的各点的值。

      x = 0:1;y1 = sin(x); y2=cos(x);xi = 0:.25:1; yi1 = interp1(x,y1,xi),yi2= interp1(x,y2,xi) %线性插值方法yi1 = interp1(x,y1,xi,nearest),yi2= interp1(x,y2,xi,nearest)%最邻近插值l31MATLAB 7.X程序设计第第4 4章章 数值计算数值计算 (2) (2)2 二维数值插值 Z1=interp2(X,Y,Z,X1,Y1,method)二维插值其中X,Y是两个向量,分别描述两个参数的采样点,Z是与参数采样点对应的函数值,X1,Y1是两个向量或标量,描述欲插值的点Z1是根据相应的插值方法得到的插值结果 l32MATLAB 7.X程序设计第第4 4章章 数值计算数值计算 (2) (2)4.5.2 数据拟合 polyfit函数求最小二乘拟合多项式的系数,调用格式为:P,S=polyfit(X,Y,m)功能:根据采样点X和采样点函数值Y,产生一个m次多项式P及其在采样点的误差向量S其中X,Y是两个等长的向量,P是一个长度为m+1的多项式系数向量 l33MATLAB 7.X程序设计第第4 4章章 数值计算数值计算 (2) (2)例4-59已知 在1,3区间10个采样点的函数值,求 的4次拟合多项式p(x)。

      l34MATLAB 7.X程序设计第第4 4章章 数值计算数值计算 (2) (2)例4-60 已知数表如下 x 9 10 11 12 f(x) 2.6093 1.7586 1.39791.9483求4次拟合多项式f(x),并计算f(10.5)的近似值l35MATLAB 7.X程序设计第第4 4章章 数值计算数值计算 (2) (2)4.6数值微分与积分4.6.1差分 l DX=diff(X) 计算向量X的向前差分,DX(i)=X(i+1)-X(i),i=1,2,n-1l DX=diff(X,n) 计算向量X的n阶向前差分,如 diff(X,2)=diff(diff(X)l DX=diff(A,n,dim) 计算矩阵A的n阶差分,dim=1时(缺省状态),按列计算差分;dim=2,按行计算差分l36MA。

      点击阅读更多内容
      关于金锄头网 - 版权申诉 - 免责声明 - 诚邀英才 - 联系我们
      手机版 | 川公网安备 51140202000112号 | 经营许可证(蜀ICP备13022795号)
      ©2008-2016 by Sichuan Goldhoe Inc. All Rights Reserved.