MATLAB中的多项式运算

时间:2021-07-04 12:36:55

 

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.求多项式的导数

具体可参见《函数极限、导数和级数求和》。