多项式求导
多项式的求导利用函数 polyder 来实现:
polyder (p) %返回多项式 p 的一阶导数
polyder (p1,p2) %返回多项式 p1*p2 的一阶导数
[q,d] = polyder (p1,p2) %返回多项式 p1/p2 的一阶导数, q 是分子, d 是分母

以 2x3-x2+3 和 2x+1 为例

这两个多项式的倒数为:

>> q1 = polyder (p1)
q1 =
     6 -2 0
>> q2 = polyder (p2)
q2 =
     2

可知 2x3-x2+3 和 2x+1 的导数分别为 6x2-2x 和 2。

两个多项式乘积的导数:

>> q3 = polyder (p1,p2)
q3 =
16 0 -2 6

这段代码还可以用

>> polyder (conv(p1,p2))
ans =
16 0 -2 6

进行代替,二者的含义是等同的。

两个多项式相除的导数为:

>> [q4,d] = polyder (p1,p2)
q4 = 8 4 -2 -6
d = 4 4 1
>> fq4 = poly2sym(q4)
fq4 =
8*x^3+4*x^2-2*x-6
>> fd = poly2sym(d)
fd =
4*x^2+4*x+1

导数为8x3+4x2-2x-6) /(4x2+4x+1)

多项式求值
给定自变量的值,可利用函数 polyval 来计算多项式的值,其调用格式为:

y = polyval(p,xv) %按照数组运算规则求当 x=xv 时多项式 p 的值

已知多项式 2x3-x2+3,分别计算当 x 取 1、在[2, 3]区间均匀分布的 5 个点时,多项式的值。

>> y1 = polyval(p1,1)
y1 =
4
>> x2 = linspace(2,3,5);
>> y2 = polyval(p1,x2)
y2 =
15.0000 20.7188 28.0000 37.0313 48.0000

当 x=1 时多项式 2x3-x2+3 的值为 4,当 x 在[2, 3]区间取均匀分布的 5 个点时,多项式的值分别为 15, 20.7188, 28, 37.0313, 48。

多项式求根(Roots)
n 次多项式的求根运算也就是求解一元 n 次方程的 n 个解(Solutions),利用函数 roots 来实现,其调用格式为:

 r = roots (p) %求多项式 p 的根

求多项式 x3-22x2+5x+700 的根:

>> p = [1,-22,5,700];
>> r = roots(p)
r=
20.0000 7.0000 -5.0000

可得多项式 x3-22x2+5x+700 的根分别为 20, 7,和-5

根求多项式

p = poly (r) %求根向量 r 对应的多项式 p

设某多项式的根为 xr=[-3,-4,1,2],求此多项式表达式。

>> xr=[-3,-4,1,2];
>> pxr = poly(xr)
pxr =
1 4 -7 -22 24
>> PXR=poly2sym(pxr)
PXR =
x^4+4*x^3-7*x^2-22*x+24