MATLAB多项式

在 MATLAB 中,多项式用一个行向量表示,行向量的元素值为多项式系数按幂次的降序排列。

例如,方程 P(x) = x^4 + 7*x^3 - 5*x + 9 可以表示为:

p = [1 -3 0 -5 9];

p = [1 -3 0  -5 9];
polyval(p,4)

返回结果:

ans =

    53

MATLAB 还提供了计算矩阵多项式 polyvalm 函数。矩阵多项式一个多项式矩阵变量。

例如,我们建立一个方阵 X 并计算多项式 p:

p = [1 7 0  -5 9];
X = [1 2 3 4; 2 -5 6 -3; 3 1 0 2; 5 -7 3 8];
polyvalm(p, X)
ans =

        4773       -3563        2535        9551
         -74         876        -261        -315
        3114       -2114        1503        6074
        9760       -7202        3768       21029

查找多项式的根

根函数可以计算多项式的根。例如,要计算多项式 p,输入根:

p = [1 7 0  -5 9];
format rat
r = roots(p)

输出结果: 

r =

    -872/127    +    0i      
   -4874/3421   +    0i      
     841/1303   +  789/1112i 
     841/1303   -  789/1112i 

poly 函数是根函数,并返回多项式的系数的倒数。例如:

 p2 = poly(r)

p2 =

       1              7              *             -5              9     

多项式曲线拟合

polyfit 函数找到一个多项式的系数,适合采用最小二乘意义上的一组中的数据。如果 x 和 y 是两个向量含有的 x 和 y 被拟合数据的一个 n 次多项式,那么我们得到的多项式拟合的数据通过写入

p = polyfit(x,y,n)
x = [1 2 3 4 5 6]; y = [5.9 48.1 128 295.7 498.4 999.67];  %data
p = polyfit(x,y,4)   %get the polynomial
% Compute the values of the polyfit estimate over a finer range, 
% and plot the estimate over the real data values for comparison:
x2 = 1:0.1:6;          
y2 = polyval(p,x2);
plot(x,y,'s',x2,y2)
grid on

p =

    1561/351      -9039/175      25620/109     -16257/43        4747/24    

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值