Matlab2016做曲线拟合(Curve Fitting)(1)

今天来分享如何用MATLAB2016进行曲线拟合:在这个系列,将利用官网提供的样例和接口,主要结合我自己的数据进行曲线拟合。
Curve Fitting:作用将曲线和曲面与数据相匹配拟合
曲线拟合应用程序提供了一个灵活的界面, 学者可以在其中交互式地将曲线和曲面与数据和视图图形相拟合。
具体包括:
- 创建、绘制和比较多个匹配项;
- 使用线性或非线性回归、插值、平滑和自定义方程;
- 查看适合的统计信息, 显示置信区间和残差, 删除异常点并评估与验证数据的匹配;
- 自动生成代码以拟合绘制曲线和曲面, 或导出工作区以进行进一步分析。
吧v

打开拟合工具箱的方法:

  1. MATLAB Toolstrip: 在 “应用程序” 选项卡上的 “数学、统计和优化” 下, 单击应用程序图标;
  2. MATLAB 命令提示符: 输入 cftool。
    3.

交互式曲线拟合

选择 X 数据和 Y 数据。在这里,曲线拟合应用程序创建一个默认多项式进行数据拟合。
这里写图片描述
我们可以尝试不同的适合选项。例如, 将多项式的程度更改为 3, 以适应三次多项式。
这里写图片描述
从列表中选择你想要进行拟合的方式;
这里写图片描述
选择文件 > 生成代码。
曲线拟合应用程序会在编辑器中创建一个包含 MATLAB 代码的文件, 以在交互式会话中重新创建所有匹配和绘图。

交互式曲面拟合

数据导入以及模式选择同上。
根据所选数据, “调整类别” 列表显示曲线或曲面拟合类别。下表描述了曲线和曲面的选项。
这里写图片描述
上面的模式分别介绍如下;

Custom Equations:用户自定义的函数类型 
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(-((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) 

选择适合于曲线拟合应用的数据:
**对于曲线, X、Y 和weights必须是具有相同数量元素的矩阵。
对于曲面, X、Y 和 Z 必须是:元素个数相同的矩阵;表格形式的数据.**
可以保存和重新加载会话, 以便方便地访问多个匹配项。会话文件包含会话中的所有配合和变量, 并记住你所使用过的的布局。
保存会话
要保存会话, 首先选择文件 > 保存会话以打开文件浏览器。接下来, 为会话文件选择一个名称和位置 (文件扩展名为. sfit)。
在保存会话一次后, 可以使用文件 >> 保存 MySessionName 来覆盖该会话以供后续保存。
要以其他名称保存当前会话, 请选择 “文件 > 保存会话”。
重新加载会话
使用文件 > 加载会话打开文件浏览器, 您可以在其中选择要加载的已保存曲线管接头会话文件。
删除会话
使用文件 > 清除会话从当前曲线管接头应用程序会话中移除所有匹配项。

猜你喜欢

转载自blog.csdn.net/Power1_Power2/article/details/80143236
今日推荐