matlab多项式及其运算

本文详细介绍在MATLAB中如何进行多项式操作,包括直接输入、特征多项式输入、由根创建多项式、多项式的运算如求值、求根、乘除、微分以及多项式拟合等关键步骤。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

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')

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值