多项式计算
1、MATLAB里多项式的表示:
一个p阶的多项式可以用一个含有p+1个元素的向量表示,也就是用多项式环 的基底
下的坐标表示.
例如:2*x^2+1可以表示为[2 0 1]。这里的第一个元素为最高阶元素,也就是按降幂排列.
2、多项式的乘法:
乘法用conv函数,例如:conv(p1,p2), p1、p2为两个多项式的系数向量,计算结果为p1*p2的新的向量的值。
p1=[1 1];% 多项式 x+1
p2=[1 0];% 多项式 x
p=conv(p1,p2)
p=[1 1 0]
3、多项式除法:
[q,r]=deconv(p1,p2),多项式带余除法,q返回p1/p2的商式,r返回p1/p2的余式。
p1=[1 1];% 多项式 x+1
p2=[1 0];% 多项式 x
[q,r]=deconv(p1,p2)
p=1;
r=[0 1]
4、多项式求导函数:
polyder(p);对多项式p求导;
polyder(p,q);对多项式p*q求导数;
[P,Q]=polyder(p,q);对多项式p/q求导数,求得导数的分子放入P中,分母放到Q中;
5、多项式的求值:
polyval(p,x):代数多项式求值。
(1)如果x为一个标量,代表求p多项式在x点的值。
(2)如果x为一个向量或者矩阵,则对矩阵或者向量里面的每一个值求多项式的值。
polyvalm(p,x):矩阵多项式求值。
polyvalm与polyval的用法相同,但是要求x为方阵,求得结果是矩阵乘法。
6、多项式的求根:
如果已知根想重建多项式,可以用函数poly,利用方法
p=poly(x)。
例子
p=[1,1,1,1];