2022 03月27日
作者: 小白哥
  • 浏览: 511
  • 收藏:0
  • 点赞:3
MATLAB曲线拟合(上)

1.说明


p = polyfit(x,y,n) 返回次数为 n 的多项式 p(x) 的系数,该阶数是 y 中数据的最佳拟合(在最小二乘方式中)。p 中的系数按降幂排列,p 的长度为 n+1

p(x)=p1xn+p2xn−1+...+pnx+pn+1


y = polyval(p,x) 计算多项式 p 在 x 的每个点处的值。参数 p 是长度为 n+1 的向量,其元素是 n 次多项式的系数(降幂排序):

p(x)=p1xn+p2xn−1+...+pnx+pn+1


2.插值和拟合的区别

  插值算法中,得到的多项式f(x)要经过所有样本点。但是如果样本点太多,那么这个多项式次数过高,会造成龙格现象。尽管我们可以选择分段的方法避免这种现象,但是更多时候我们更倾向于得到一个确定的曲线,尽管这条曲线不能经过每一个样本点,但只要保证误差足够小即可,这就是拟合的思想。 (拟合的结果是得到一个确定的曲线)

  简而言之,在拟合问题中不需要曲线一定经过给定的点。拟合问题的目标是寻求一个函数(曲线),使得该曲线在某种准则下与所有的数据点最为接近,即曲线拟合的最好(最小化损失函数)。

3.示例

x=0:0.1:20;
y=sin(x)+cos(x);
p1=polyfit(x,y,5);%5次多项式拟合
y1=polyval(p1,x);
p2=polyfit(x,y,11);%11次多项式拟合
y2=polyval(p2,x);
plot(x,y,'r',x,y1,'g',x,y2,'b')
legend('原始曲线','5次拟合','11次拟合')
set(findobj('Type','line'),'LineWidth',2)

1.jpg  



  

发表评论

评论列表


没有评论

筛选

文章分类

热门文章

企业招聘网址

2023-12-07  浏览:3044次

BC1.2协议介绍

2023-06-14  浏览:2946次

USB2.0速度识别

2023-10-23  浏览:1366次