[matlab工具箱] 曲线拟合Curve Fitting

2019/07/25 16:07
阅读数 283

——转载网络

 

我的matlab版本是 2016a

首先,工具箱如何打开呢?
这里写图片描述
apps 这个菜单项中,可以找到很多很多的应用,点击就可以打开具体的工具窗口

本文介绍的工具有以下这些:

  • curve Fitting
curve Fitting

一开始的界面是这样子的
这里写图片描述
其中下面这个部分是用来添加数据的,提供的选项是workspace中已经存在的变量
这里写图片描述
这里我提供一组数据,用来演示

x=[8.0, 9.0, 10.0, 11.0, 12.0, 13.0, 14.0, 15.0, 16.0, 17.0, 18.0, 19.0, 20];  
y=[0.6,0.62,0.64, 0.65, 0.66, 0.67, 0.68, 0.68, 0.69, 0.66, 0.65, 0.65,0.64]; 

选择好数据后就自动把散点图画好了
这里写图片描述
然后在
这里写图片描述
这个部分选择合适的曲线

  • Exponential:指数逼近,有2种类型, a*exp(b*x) 、 a*exp(b*x) + c*exp(d*x)
  • Fourier:傅立叶逼近,有7种类型,基础型是 a0 + a1*cos(x*w) + b1*sin(x*w)
  • Gaussian:高斯逼近,有8种类型,基础型是 a1*exp(c1-((x-b1)/c1)^2)
  • Interpolant:插值逼近,有4种类型,linear、nearest neighbor、cubic spline、shape-preserving
  • Polynomial:多形式逼近,有9种类型,linear ~、quadratic ~、cubic ~、4-9th degree ~
  • Power:幂逼近,有2种类型,a*x^b 、a*x^b + c
  • Rational:有理数逼近,分子、分母共有的类型是linear ~、quadratic ~、cubic ~、4-5th degree ~;此外,分子还包括constant型
  • Smoothing Spline:平滑逼近
  • Sum of Sin Functions:正弦曲线逼近,有8种类型,基础型是 a1*sin(b1*x + c1)
  • Weibull:只有一种,a*b*x^(b-1)*exp(-a*x^b)

在评价一个曲线的拟合效果时,除了直观的观察图像和散点的拟合程度外,matlab还提供了几个评价参数,英文解释看官网
+ The sum of squares due to error (SSE)
+ R-square
+ Adjusted R-square
+ Root mean squared error (RMSE)

sse 这个统计量测量的是拟合值与实际值的总偏差和。它也被称为残差的平方求和
这里写图片描述
值越小,拟合程度越好
R-square由三个公式计算得来,衡量了拟合在解释数据变化方面的成功程度
这里写图片描述
这里写图片描述
这里写图片描述
越接近1,表示模型在方差中所占的比例更大(with a value closer to 1 indicating that a greater proportion of variance is accounted for by the model)

Adjusted R-square
调整后的R-平方统计量可以接受任何小于或等于1的值,而接近1的值表示更好的拟合。当模型包含无助于预测响应的项时,可能会出现负值。

RMSE
由以下两个公式计算得出
这里写图片描述
这里写图片描述
与sse一样,RMSE值越小,拟合程度越好

最后,将拟合好的结果通过下图的选项即可输出到workspace中供之后编程使用
这里写图片描述

distribution fitter工具箱的使用说明

 

展开阅读全文
打赏
0
0 收藏
分享
加载中
更多评论
打赏
0 评论
0 收藏
0
分享
返回顶部
顶部