英雄杀魏忠贤三:2.2 多项式

来源:百度文库 编辑:九乡新闻网 时间:2024/05/01 17:23:17
 

2.2 多项式

    多项式是形如P(x) = a0xn+a1xn-1+…+an-1x+an的式子。

    在MATLAB中,多项式用行向量表示:P=[ a0 a1 … an-1 an]

2.2.1多项式行向量的构造

    除了上面所采用的直接输入法以外,还可以由命令poly(A)来生成矩阵A的特征多项式。

例:

>>PA=poly(A)

PA =

1.0000  -34.0000  -80.0000    0.0000    0.0000

2.2.2多项式的运算

1.多项式的加减运算

进行加减运算的多项式应该具有相同的阶次,如果阶次不同,低阶的多项式必须用零填补至高阶多项式的阶次。

例:两个多项式a(x)= 5x4+4x3+3x2+2x+1和b(x)= 3x2+0x+1的和:

>>a=[5 4 3 2 1];b=[3 0 1];

>>c=a+[0 0 b]

c =

     5     4     6     2     2

对应的结果是c(x)=5x4+4x3+6x2+2x+2。

2.多项式的乘法

>>d=conv(a,b)

d =

15    12    14    10     6     2     1  

3.多项式的除法

结果包括商多项式和余数多项式两部分。

>>[div,rest]=deconv(d,a)

div =

     3     0     1

rest =

     0     0     0     0     0     0     0

4. 微分

例如:p(x)=2x4-6x3+3x2+0x+7

>>p=[2 –6 3 0 7];

>>q=polyder(p)

q =

     8   -18     6     0

5. 求根

>>x=roots(p)

x =

   1.9322 + 0.4714i

   1.9322 - 0.4714i

  -0.4322 + 0.8355i

  -0.4322 - 0.8355i

6. 求值

polyval函数可以求出当多项式中的未知数为某个特定值时该多项式的值。

>>polyval(p,1)

ans =

6

polyvalm函数可以求出当多项式中的未知数为某个方阵时该多项式的值。例如

>>polyvalm(p, G)

ans = 

    58   120   -26

    68   168   -34

   188   444   -88