1.系数多项式的直接输入
p=[1 -5 6 -13];
>> p3=poly2sym(p)%给出多项式的具体形式
p3 =
x^3 - 5*x^2 + 6*x - 13
2.特征多项式输入法
p=poly(a)
p =
1.0000 -9.0000 -6.0000 0.0000
>> p3=poly2sym(p)
p3 =
x^3 - 9*x^2 - 6*x + 8192426782183291/81129638414606681695789005144064
3.由根创建多项式
oot=[-5 -3+4i -3-4i];
>> p=poly(root)
p =
1 11 55 125
>> p3=poly2sym(p)
p3 =
x^3 + 11*x^2 + 55*x + 125
4.多项式的运算
1.求多项式的值
>> p=[-2 -5 6]
p =
-2 -5 6
>> x=5;
>> y=polyval(p,x)
y =
-69
2.求多项式的根
>> p=[2 -5 6 -1 9];
>> roots(p)
ans =
1.6024 + 1.2709i
1.6024 - 1.2709i
-0.3524 + 0.9755i
-0.3524 - 0.9755i
3.求多项式的乘除法运算
> p1=[1 -5 6 -1 0];
>> poly2sym(p1)
ans =
x^4 - 5*x^3 + 6*x^2 - x
>> p2=[3 -90 -18];
>> poly2sym(p2)
ans =
3*x^2 - 90*x - 18
>> p12=conv(p1,p2)
p12 =
3 -105 450 -453 -18 18 0
>> poly2sym(p12)
ans =
3*x^6 - 105*x^5 + 450*x^4 - 453*x^3 - 18*x^2 + 18*x
4.多项式微分
p=[1 -5 6 -1 9];
>> poly2sym(p)
ans =
x^4 - 5*x^3 + 6*x^2 - x + 9
>> polyder(p)
ans =
4 -15 12 -1
>> poly2sym(polyder(p))
ans =
4*x^3 - 15*x^2 + 12*x - 1
5.多项式拟合
plofit(x,y,n),其中x,y是拟合数据,n为拟合多项式的阶数。
x=0:pi/20:2/pi;
>> y=sin(x);
>> p=polyfit(x,y,5)
警告: 多项式不是唯一的;阶数 >= 数据点的数目。
> In polyfit (line 74)
p =
0 0.0128 -0.1736 0.0016 0.9999 0.0000
>> x1=0:pi/30:2*pi;
>> y1=sin(x1);
>> y2=polyval(p,x1);
>> plot(x1,y1,'-b',x1,y2,'* r')