1.多项式求根
在MATLAB中求取多项式的根用roots函数。
函数:roots
功能:一元高次方程求解。
语法:roots(c)
说明:返回一个列向量,其元素为多项式c的解。
例:求方程x3-8x2+6x–30=0的解。
c = [0 -8 6 30]; %注意需包含所有幂次项的系数
r = roots(c)
2.由多项式根反推多项式
在MATLAB中,poly与roots互为逆函数,可以使用函数poly由多项式的根求多项式。
函数:poly
功能:返回多项式的系数
语法:p = poly(r)
说明:r为多项式的根,p为多项式的系数。
例:已知多项式的的根r = [7.7260;0.1370+1.9658i;0.1370-1.9658i],,求此多项式.
r = [7.7260;0.1370+1.9658i;0.1370-1.9658i];
p = poly(r)
通过上述代码即可求得多项式的系数.
3.多项式求值
在MATLAB中,多项式在某个参数下的值函数polyval完成。
函数:polyval
功能:求多项式在某个参数下的值
语法:y = polyval(p,x)
说明:返回p代表的多项式在x的每一个元素处的值,x可以是一个向量或矩阵。
例:求方程y=–0.0602x2+1.7020x+0.3096在x等于0,0.2,……,1时的函数值。
p = (-0.0602 1.7020 0.3096)
xi = linspace(0,1,11);
z = polyval(p,xi)
4.求多项式的导数
具体可参见《函数极限、导数和级数求和》。