《matlab多项式运算与方程求根》由会员分享,可在线阅读,更多相关《matlab多项式运算与方程求根(8页珍藏版)》请在金锄头文库上搜索。
1、Matlab多项式运算与方程求根v Matlab多项式运算q 在 Matlab 中,n 次多项式是用一个长度为 n+1的向量来表示,缺少的幂次项系数为 0。例如:在 Matlab中表示为相应的向量:q 例: 注:系数中的零不能省!q 多项式四则运算 多项式加减运算:Matlab没有提供专门进行多项式加减运算的函数,事实上,多项式的加减就是其所对 应的系数向量的加减运算。 例: 对于次数相同的多项式,可以直接对其系数向量进行加减运算; 如果两个多项式次数不同,则应该把低次多项式中 系数不足的高次项用0补足,然后进行加减运算。q 多项式四则运算(续) 多项式乘法运算: 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)+rq 多项式的导数:polyderk=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、已知 , ,求q 多项式求值 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 是向量或矩阵,则采用数组运算(点运算)!q 多项式求值(续) 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)q 多项式求根 p=2,-1,0,3; x=roots(p)x=roots(p):若p是n次多项式,则输出x为包 含p=0的n个根的n维向量。若已知多项式的全部零点,则可用poly函数给出该多项式。p=ploy(x)例:已知 ,求p(x)的零点。注:以上多项式运算中,使用的都是多项式的 系数向量,不涉及符号计算!