1、Matlab多项式运算与方程求根,Matlab多项式运算,在 Matlab 中,n 次多项式是用一个长度为 n+1的向量来表示,缺少的幂次项系数为 0。例如:,在 Matlab中表示为相应的向量:,例:,注:系数中的零不能省!,多项式四则运算,多项式加减运算:Matlab没有提供专门进行多项式加减运算的函数,事实上,多项式的加减就是其所对应的系数向量的加减运算。,例:,对于次数相同的多项式,可以直接对其系数向量进行加减运算;如果两个多项式次数不同,则应该把低次多项式中系数不足的高次项用0补足,然后进行加减运算。,多项式四则运算(续),多项式乘法运算: k=conv(p,q),例:计算多项式 和
2、 的乘积, p=2,-1,0,3; q=2,1; k=conv(p,q);,多项式除法运算:k,r=deconv(p,q),其中 k 返回的是多项式 p 除以 q 的商,r 是余式。,k,r=deconv(p,q),p=conv(q,k)+r,多项式的导数:polyder,k=polyder(p):多项式 p 的导数; k=polyder(p,q): p*q 的导数; k,d=polyder(p,q):p/q 的导数,k是分子,d是分母。, k1=polyder(2,-1,0,3); k2=polyder(2,-1,0,3,2,1); k2,d=polyder(2,-1,0,3,2,1);,例
3、:已知 , ,求,多项式求值, p=2,-1,0,3; x=2;polyval(p,x) x=-1, 2;-2,1;polyval(p,x),例:已知 ,分别取 x=2和一个22矩阵,求 p(x) 在 x 处的值,代数多项式求值:,y=polyval(p,x):计算多项式 p 在 x 点的值,注:若 x 是向量或矩阵,则采用数组运算(点运算)!,多项式求值(续), p=2,-1,0,3; x=-1, 2;-2,1;polyval(p,x) polyvalm(p,x),例:已知 ,则,矩阵多项式求值:,Y=polyvalm(p,X):以方阵X为自变量, 计算多项式的值,采用矩阵运算。,polyvalm(p,A)=2*A*A*A - A*A + 3*eye(size(A); polyval(P,A)=2*A.*A.*A - A.*A + 3*ones(size(A),多项式求根, p=2,-1,0,3; x=roots(p),x=roots(p):若p是n次多项式,则输出x为包含p=0的n个根的n维向量。,若已知多项式的全部零点,则可用poly函数给出该多项式。,p=ploy(x),例:已知 ,求p(x)的零点。,注:以上多项式运算中,使用的都是多项式 的 系数向量,不涉及符号计算!,