matlab多次拟合曲线效果比较

本博文源于matlab多项式章节的一个小知识,很多同学觉得拟合polyfit会用就行了,知道最小二乘法是拟合的原理。其中包含多元函数积分学的知识。但是大家是否真的有空把多次拟合的函数跑一遍总结规律呢?还有过拟合和欠拟合是否能在论文中使用呢?所谓过拟合就是能近似经过每一点,但是曲线过于弯曲形态不好。而欠拟合就是连点都不怎么过,看上去就是很丑陋,很low的模样。

下面通过一个例子去看一下,拟合的次数看出拟合多次是否能对函数有更好的逼近,并能说出哪种次数是过拟合?

例子:现有一组实验数据:x的取值是从1到2之间的数,间隔为0.1,y的值为下列数据,要求分别用二次、三次和七次来拟合数据,观察效果

y的值

2.1
3.2
2.1 
2.5 
3.2
3.5
3.4
4.1
4.7
5.0
4.8

代码程序

>> x=1:0.1:2;
>> y=[2.1 3.2 2.1 2.5 3.2 3.5 3.4 4.1 4.7 5.0 4.8];
>> p2=polyfit(x,y,2)

p2 =

    1.3869   -1.2608    2.1410

>> p3=polyfit(x,y,3)

p3 =

   -5.1671   24.6387  -35.2187   18.2002

>> p7=polyfit(x,y,7)

p7 =

  1.0e+005 *

    0.0287   -0.3069    1.3966   -3.4977    5.2059   -4.6033    2.2386   -0.4617

>> x1=x;
>> y2=polyval(p2,x1);
>> y3=polyval(p3,x1);
>> y7=polyval(p7,x1);

>> plot(x,y,'rp',x1,y2,'--',x1,y3,'k-.',x1,y7)
>> legend('拟合点','二次拟合','三次拟合','七次拟合')
>> 

清晰易懂附上图,其中polyfit就是拟合常用函数,polyval就是一个求值函数方便plot画图
在这里插入图片描述

总结

图上看出拟合次数越高越好,但是拟合太高可能浮动越大,因此一般不会超出七次。大家在使用中二次拟合起步。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值