MATLAB实现三次多项式拟合若干数据点,形成一段函数|笔记与代码

在这里插入图片描述

多项式拟合

三次多项式拟合就是用 y = f ( x ) = a 0 + a 1 x 1 + a 2 x 2 + a 3 x 3 y=f(x)=a_0+a_1x_1+a2x_2+a_3x_3 y=f(x)=a0+a1x1+a2x2+a3x3这样的函数来拟合一段曲线。
使用的函数为 p o l y f i t polyfit polyfit这个函数,其形式为:
[ p , S , m u ] = p o l y f i t ( x , y , n ) [p,S,mu] = polyfit(x,y,n) [p,S,mu]=polyfit(x,y,n)

  • 输入量x和y为输入的x和y轴坐标,n为次数。
  • 输出的p为多项式系数(用矩阵形式储存)
  • 输出的S为一个结构体,可用来获取误差
  • mu(1) 是 mean(x),mu(2) 是 std(x)

初始化

待拟合点

待拟合点设置为:
x:
在这里插入图片描述
y:
在这里插入图片描述

拟合结果

待拟合点用黑色表示,绘制拟合得到的函数图像如下图红色曲线:
在这里插入图片描述
如果要求函数上特定的x所对应的y,不妨设待求点的x为:
在这里插入图片描述
使用下列代码:

y1 = polyval(P,x1); %求多项式拟合下的y值

求得y1的值如下:
在这里插入图片描述
绘图如下红色的点:
在这里插入图片描述

代码

源代码下载链接:https://download.csdn.net/download/callmeup/89652012
只有一个m文件,使用MATLAB运行后即可得到跟我一样的运行结果。待拟合点、待求点的x坐标均可在源代码上面进行更改,有中文注释。

另有关于7次多项式拟合和5次多项式拟合的文章,可供参考:

  • 七次多项式拟合:https://blog.csdn.net/callmeup/article/details/141252108
  • 五次多项式拟合:https://blog.csdn.net/callmeup/article/details/141101617
  • 8
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

MATLAB卡尔曼

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值