MATLAB polyfit函数——多项式拟合

一、基本形式

p = polyfit(x,y,n)

    此函数用一个n次多项式来拟合一组数据点(x,y),并且将多项式系数以数组p的形式输出,p中的系数按降幂排列,数组长度为 n+1。

p(x)=p_{1}x^{n}+p_{2}x^{n-1}+...+p_{n}x+p_{n+1}

    如果要将拟合好的多项式系数绘制出来,可以使用polyval函数:

y1 = polyval(p,x1)

    此函数的作用是对给定的x1的值,通过多项式系数数组p计算对应的y1值,之后就可以方便地利用x1和y1来绘制多项式曲线了。x1一般是用linspace函数定义好的更精细的自变量值。

更完整的polyfit函数介绍,见:多项式曲线拟合

二、示例

    将通流面积x与流经阀口的质量流量y的10组数据用二次多项式拟合,并将数据点和二次多项式绘制成图:

x = [0.9181,1.1006,1.2803,1.4574,1.6317,1.8033,1.9721,2.1382,2.3016,2.4623];
y = [0.1108,0.1306,0.1529,0.1805,0.1972,0.2181,0.2412,0.2601,0.2864,0.3195];
p = polyfit(x,y,2);
xx = linspace(0.8,3);
yy = polyval(p,xx);
figure
plot(x,y,'ko',xx,yy,'LineWidth',2,'MarkerFaceColor','k');

 运行后,数组p的值为[0.0155,0.0784,0.0271],说明拟合的二次多项式为:

p(x)=0.0155x^{2}+0.0784x+0.0271

  • 15
    点赞
  • 94
    收藏
    觉得还不错? 一键收藏
  • 2
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值