资源描述:
《matlab7.x程序设计第4章》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、第4章MATLAB数值计算(2)4.4多项式函数4.4.1多项式的表示MATLAB中多项式的表示方法:例如:行向量p=[1-12025116]对应的多项式为:2MATLAB7.X程序设计4.4.2多项式的算术运算1加减运算3MATLAB7.X程序设计4MATLAB7.X程序设计2乘法运算MATLAB支持多项式乘法,函数格式为:函数conv(P1,P2)求多项式P1和P2的乘积。这里,P1,P2是两个多项式系数向量。例4-44计算c=conv([122],[154])执行结果如下:c=1716188由执行结果可知:5MATLAB7.X程序设计3除法运算[Q,r]=deconv(P1,P
2、2)对多项式P1和P2作除法运算。其中Q返回多项式P1除以P2的商式,r返回P1除以P2的余式。注意deconv是conv的逆函数,即有P1=conv(P2,Q)+r。6MATLAB7.X程序设计例4-45计算Q=deconv([1800-10],[2-13])Q=0.50004.25001.3750[Q,r]=deconv([1800-10],[2-13])执行结果如下:Q=0.50004.25001.3750r=000-11.3750-14.1250由执行结果可知商是:余式是:7MATLAB7.X程序设计4.4.3导函数p=polyder(P)求多项式P的导函数pp=polyde
3、r(P,Q)求P×Q的导函数p[p,q]=polyder(P,Q)求P/Q的导函数,导函数的分子存入p,分母存入q。8MATLAB7.X程序设计例4-46求的导数p=[3-21];polyder(p)执行结果为:ans=6-2结果是9MATLAB7.X程序设计a=[3-21];b=[456];polyder(a,b)执行结果为:ans=482124-7结果是例4-47求的导数10MATLAB7.X程序设计例4-48求的导数。a=[3-21];b=[456];[q,d]=polyder(a,b)执行结果为:q=2328-17d=164073603611MATLAB7.X程序设计例4-4
4、9求有理分式的导数。P=[1];Q=[1,0,5];[p,q]=polyder(P,Q)执行结果为:p=-20q=101002512MATLAB7.X程序设计4.4.4多项式求根x=roots(P)其中P为多项式的系数向量,求得的根赋给向量x,即x(1),x(2),…,x(n)分别代表多项式的n个根。给出一个多项式的根,可以构造相应的多项式。若已知多项式的全部根,则可以用poly函数建立起多项式,其调用格式为:P=poly(x)x为具有n个元素的向量,poly(x)为以x为其根的多项式,且将该多项式的系数赋给向量P。13MATLAB7.X程序设计例4-50求多项式的根A=[1,8,0
5、,0,-10];x=roots(A)执行结果如下:x=-8.01941.0344-0.5075+0.9736i-0.5075-0.9736i由结果可以看出,方程的根为两个实根和一对共轭复根14MATLAB7.X程序设计例4-51求方程的根。r=[1-7240];p=roots(r);执行结果如下:p=5.00004.0000-2.0000由结果可以看出,方程的根均为实根5.000,4.0000和-2.0000。15MATLAB7.X程序设计例4-52已知(1)计算的全部根。(2)由方程的根构造一个多项式并与进行对比。P=[3,0,4,-5,-7.2,5];X=roots(P)%求方程
6、f(x)=0的根G=poly(X)%求多项式G(x)16MATLAB7.X程序设计执行结果为:X=-0.3046+1.6217i-0.3046-1.6217i-1.00661.01900.5967G=1.00000.00001.3333-1.6667-2.40001.6667注意:构造的多项式的首项系数为1。17MATLAB7.X程序设计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为向量或矩阵,则对向量或矩阵中的每个元素求多
7、项式P的值,返回值为与自变量同型的向量或矩阵。18MATLAB7.X程序设计例4-53已知分别计算和时的值。P=[1800-10];x=1.2;Y=polyval(P,x)执行结果如下:Y=5.8976y=[234;541];Y=polyval(P,y)执行结果如下:Y=702877581615758-119MATLAB7.X程序设计2矩阵多项式求值polyvalm函数用来求矩阵多项式的值,要求以方阵x为自变量求多项式的值。20MATLAB7.X程序设计例