【数学建模算法】(番外6)Matlab曲线拟合工具箱cftool

在之前的几节中我们介绍了一些插值和拟合的算法,这一节我们介绍Matlab中专用于曲线拟合和插值的工具箱——cftool。

以一个例子作为这篇文章的开始:

例1 已知一组函数采样点如下表:

x 110.3323 148.7328 178.064 202.8258033 224.7105 244.5711 262.908 280.0447 296.204 311.5475
y 5 10 15 20 25 30 35 40 45 50

利用Matlab中的cftool寻找适当的模型对这个数据进行拟合。

1.在命令行输入数据

x=[110.3323 148.7328 178.064 202.8258033 224.7105 244.5711 262.908 280.0447 296.204 311.5475];
y=[5 10 15 20 25 30 35 40 45 50];

2.尝试画出折线图观察

折线图

发现曲线形状更像一个二次曲线或者一个指数曲线,所以决定使用二次曲线或指数曲线分别拟合选择效果好的一种。

接下来就要用到工具箱了

3.打开cftool工具箱

在命令行输入cftool

>> cftool

之后就会出现cftool的主界面

cftool主界面

下面对界面进行逐一介绍:

1.左上角——数据界面

数据界面

可以看到cftool工具箱支持最多3维数据的拟合,而且还可以为数据增加权重。
在你打开工具箱之后,它会自动读取工作区的数据,你需要将其分别赋给X,Y,Z data。

2.右上角——拟合选项

拟合选项

左边部分:
最上面:函数类型

Polynomial:多项式


Polynomial

Degree:多项式阶数。
Robust:鲁棒性要求:
Off——无要求
LAR——(least absolute residual)最小绝对残差
Bisquare——赋权最小残差,给离曲线近的给予较大的权重,远的给予较小的权重。

Custom Equation

Custom Equation:用户自定方程
下面是用户自行编写的函数形式。

Exponential

指数型Exponential

举例说明到此结束,剩下的类型请读者自行探索。

3.左下角——结果(Result)

Result

在这部分中会给出函数的模型和计算出的参数值。

4.右下角——图像

图像

给出按参数拟合出的函数图像。

5.最下方——各类参数和评价指标

各类参数和评价指标

4.比较两种拟合方式的结果

二次多项式:


二次多项式

指数型:


指数型

从二者的结果比较可以明显看出,多项式的拟合效果更好。

©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

友情链接更多精彩内容