1、多项式的表达式和创建
MATLAB中使用一维向量来表示多项式。将多项式按照降幂次序存放在向量中。
多项式就可以用向量 [2 3 5 0 1]来表示。
2、多项式求根
>> p=[1 2 1]
p =
1 2 1
>> r = roots(p)
r =
-1
-1
3、由根创建多项式
>> r = [2;3]
r =
2
3
>> p=poly(r)
p =
1 -5 6
4、多项式的四则运算
1)多项式的加法
>> a=[1,2,3];
>> b=[4,5,6];
>> c=a+b
c =
5 7 9
2)多项式的乘法
>> a=[1,0];
>> b=[1,0];
>> c=conv(a,b)
c =
1 0 0
3)多项式的除法
>> a=[1 -5 6];
>> b=[1 -2];
>> c=deconv(a,b)
c =
1 -3
4)多项式的导数
>> a=[1,1,1,1];
>> e=polyder(a)
e =
3 2 1
5)多项式的积分
>> a=[3,2,1];
>> e=polyint(a)
e =
1 1 1 0
%这里默认了常数项是零,需要注意一下
6)多项式的估值
x=-1:0.01:1;
g=[1,35,7,9];
y=polyval(g,x);
plot(x,y)
xlabel('x');
title('x^{3}+35x^{2}+7x+9');
7)有理多项式:residue和ployder
clear all;clc;
num=[5 3 -2 7];
den=[-4 0 8 3];
[r,p,k]=residue(num,den)
r =
-1.4167
-0.6653
1.3320
p =
1.5737
-1.1644
-0.4093
k =
-1.2500
>> [n,d] = residue(r,p,k)
n =
-1.2500 -0.7500 0.5000 -1.7500
d =
1.0000 -0.0000 -2.0000 -0.7500
本例的结果可表示成为:
residue也可执行逆运算,本例的结果可表示为:
ployder可以对多项式求导
clear all;clc;
num=[5 3 -2 7];
den=[-4 0 8 3];
[b,a]=polyder(num,den)
b =
12 64 153 18 -62
a =
16 0 -64 -24 64 48 9