-
多项式(polynomial)
1.创建多项式
①系数矢量直接输入
例:创建多项式x³-2x²+3x+4
>> poly2sym([1 -2 3 4])
ans =
x^3 - 2*x^2 + 3*x + 4
(一共有四项,因此第一项的n-1,即3)
②特征多项式输入
(注意:n阶方阵的特征多项式系数矢量一定是n+1阶的,同时特征多项式系数的矢量的第一个元素必须为1)
例:求矩阵[1 2 3;4 5 6;7 8 0]的多项式形式
>> a=[1 2 3;4 5 6;7 8 0];
>> p=poly(a) (这个是将矩阵转化为特征多项式系数)
p =
1.0000 -6.0000 -72.0000 -27.0000
>> pp=poly2sym(p)
pp =
x^3 - 6*x^2 - 72*x - 27
③由根矢量创建多项式
例:根据根矢量[-0.1 -0.2+0.4i -0.2-0.4i]创建多项式
> a=[-0.1 -0.2+0.4i,-0.2-0.4i]; (根矢量中,复数根应保留共轭复数成对)
>> p=poly(a)
p =
1.0000 0.5000 0.2400 0.0200
>> pr=real(p) (这一步的作用是含复数根的根矢量所创建的特征多项式系数中,有可能带有很小的虚部,此时用实部命令real把虚部滤除)
pr =
1.0000 0.5000 0.2400 0.0200
>> ppr=poly2sym(pr)
ppr =
x^3 + x^2/2 + (6*x)/25 + 1/50
2.多项式运算
①求多项式的值
(这个就像我们曾经做数学题一样,当x=1,求y的值那样)
1)polyval函数
例:求多项式5x²+2x+1,在1,2,3处的值。
>> a=[5 2 1];
>> p=polyval(a,[1 2 3])
p =
8 25 52
2)polyvalm函数
例:求多项式5x²+2x+1,在矩阵处的值。
>> a=[5 2 1];
>> p=polyval(a,[2 5;7 9])
p =
25 136
260 424
这两个函数,我们可以看出,polyvalm函数是计算矩阵,最终生成的是矩阵形式,而如果只单单求一两个数,这两个函数是一样的。
②求多项式的根
(roots函数)
例:求多项式x³-6x²+7x+10的根
>> a = [1 -6 7 10];
>> r = roots(a)
r =
3.4013 + 0.9439i
3.4013 - 0.9439i
-0.8026 + 0.0000i
③求多项式的微积分
(polyder函数)
例:求多项式x³-6x²+7x+10的微分
>> a = [1 -6 7 10];
>> pd=polyder(a)
pd =
3 -12 7
>> ppd=poly2sym(pd)
ppd =
3*x^2 - 12*x + 7
(polyint函数)
例:求多项式x³-6x²+7x+10的积分
>> a = [1 -6 7 10];
>> pi=polyint(a)
pi =
0.2500 -2.0000 3.5000 10.0000 0
>> ppi=poly2sym(pi)
ppi =
x^4/4 - 2*x^3 + (7*x^2)/2 + 10*x