美文网首页数学建模课程笔记【散人】数学建模数学建模艺术
【数学建模算法】(番外6)Matlab曲线拟合工具箱cftool

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

作者: 热爱学习的高老板 | 来源:发表于2019-08-25 10:52 被阅读11次

    在之前的几节中我们介绍了一些插值和拟合的算法,这一节我们介绍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.比较两种拟合方式的结果

    二次多项式:


    二次多项式

    指数型:


    指数型

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

    相关文章

      网友评论

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

        本文链接:https://www.haomeiwen.com/subject/pbptectx.html