MATLAB函数拟合使用

MATLAB函数拟合使用1函数命令拟合最常用的函数拟合命令为fit,语法为|[拟合结果拟合精度]=fit(X数据,Y数据,‘拟合类型’)其中,具体的拟合类型可以参看帮助文档,也可以使用fittype来自定义新的函数类型,比如定义拟合函数a*x+b*x^2+exp(4*x);|newtype=fittype(‘a*x+b*x^2+exp(4*x)’);fit(x,y,newtype);x=[1;2;…

大家好,又见面了,我是你们的朋友全栈君。

1 函数命令拟合

最常用的函数拟合命令为fit,语法为|

[拟合结果 拟合精度]=fit(X数据,Y数据,‘拟合类型’)

其中,具体的拟合类型可以参看帮助文档,也可以使用fittype来自定义新的函数类型,比如定义拟合函数a*x+b*x^2+exp(4*x);|

newtype=fittype('a*x+b*x^2+exp(4*x)') ;
fit(x,y,newtype);

x=[1;2;3;4;5];
y=[2;3;4;5;6]; 

2 使用界面启动拟合工具箱

在这里插入图片描述

具体操作步骤

  1. 在APP一栏,选择curve fitting工具箱,然后选择相应阶段的数据,填入X dataY data
  2. fit options一栏选择对应的函数形式,阶数,和鲁棒性
  3. 点击工具栏的residuals plot,便于观察拟合误差
  4. 点击工具栏的data cursor,可以用鼠标在曲线上标记出具体的坐标值

3 界面介绍

在这里插入图片描述

  • 顶部为常用工具栏,常用的一般有误差分析和鼠标标记坐标点
  • Fit Options可以选择拟合类型和函数次数
  • 左侧Results显示了拟合结果的性能参数
  • 底部的table of fits可以对多个不同的拟合结果进行性能比较

4 拟合类型

在这里插入图片描述

拟合类型 解释
Custom Equations 用户自定义的函数类型
Exponential exp指数逼近,有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种类型,linearnearest neighborcubic splineshape-preserving
Polynomial 多形式逼近,有9种类型,linear ~quadratic ~cubic ~4-9th degree ~
Power 幂逼近,有2种类型,a*x^ba*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)

5 拟合结果说明

例如在上面的拟合中,选择Polynomial类型,Degree选择3阶,Robust选择Off,得到的Results如下:

Linear model Poly3:
     f(x) = p1*x^3 + p2*x^2 + p3*x + p4
Coefficients (with 95% confidence bounds):
       p1 =   0.0007776  (0.0007486, 0.0008066)
       p2 =      -0.121  (-0.1258, -0.1161)
       p3 =       6.324  (6.055, 6.592)
       p4 =        -107  (-111.9, -102)

Goodness of fit:
  SSE: 0.555
  R-square: 0.9973
  Adjusted R-square: 0.9973
  RMSE: 0.03777

其中,Goodness of fit里面的性能指标如图所示:

性能指标 解释
SSE The sum of squares due to error. This statistic measures the deviation of the responses from the fitted values of the responses. A value closer to 0 indicates a better fit.
R-square The coefficient of multiple determination. This statistic measures how successful the fit is in explaining the variation of the data. A value closer to 1 indicates a better fit.
Adjusted R-square The degree of freedom adjusted R-square. A value closer to 1 indicates a better fit. It is generally the best indicator of the fit quality when you add additional coefficients to your model.
RMSE The root mean squared error. A value closer to 0 indicates a better fit.

6 参考文献

  1. 函数拟合工具包 [Fudan Physics Teaching Lab]
    http://phylab.fudan.edu.cn/doku.php?id=howtos:matlab:mt1-5
  2. Matlab的曲线拟合工具箱CFtool使用简介 – yousun – 博客园
    https://www.cnblogs.com/yousun/p/3450676.html
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/160795.html原文链接:https://javaforall.net

(0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • Sobel 算子结构

    Sobel 算子结构Sobel算子结构

    2022年7月14日
    16
  • IDEA 安装 Lombok 插件

    IDEA 安装 Lombok 插件

    2021年7月11日
    122
  • Java俄罗斯方块,老程序员花了一个周末,连接中学年代!

    Java俄罗斯方块,老程序员花了一个周末,连接中学年代!引言:俄罗斯方块,相信很多80、90后的小伙伴都玩过,也是当年非常火的游戏,当年读中学的时候,有一个同学有这个游戏机,大家都很喜欢玩,这个游戏给当时的我们带来了很多欢乐,时光飞逝,感慨颇多!人终归是要长大的,回忆再美好,日子也一去不复返了,以前我们只会玩游戏,心里想自己能做一个出来多牛逼啊,长大后,成为程序员的我们有能力自己写游戏玩,我想这就是成长吧!玩过这个游戏机的小伙伴看到这个图,应该对这个机器多少有些感情,毕竟带给了我们很多的欢乐!这次利用周末的时间,去写了一个俄罗斯方块Java版本,感觉碰

    2022年6月16日
    30
  • MyBatis缓存机制详解

    MyBatis缓存机制详解MyBatis缓存机制详解1.MyBatis缓存1.1MyBatis缓存概述1.2MyBatis一二级缓存区别2.MyBatis一级缓存2.1MyBatis一级缓存概述2.2MyBatis一级缓存配置2.3MyBatis一级缓存原理分析2.4MyBatis一级缓存总结3.MyBatis二级缓存3.1MyBatis二级缓存概述3.2MyBatis二级缓存配置3.3MyBatis二级缓存原理分析3.4MyBatis二级缓存总结4.MyBatis缓存测试5.参考文档1.MyBat

    2022年5月11日
    33
  • 无人驾驶汽车系统入门(一)——卡尔曼滤波与目标追踪

    无人驾驶汽车系统入门(一)——卡尔曼滤波与目标追踪前言:随着深度学习近几年来的突破性进展,无人驾驶汽车也在这些年开始不断向商用化推进。很显然,无人驾驶汽车已经不是遥不可及的“未来技术”了,未来10年必将成为一个巨大的市场。本系列博客将围绕当前使用的最先进的无人驾驶汽车相关技术,一步一步地带领大家学习并且掌握无人驾驶系统的每一个模块的理论基础和实现细节。由于无人驾驶汽车系统构成及其复杂,本系列博客仅讨论软件部分的内容,关于汽车,传感器和底层的硬件,不

    2022年6月18日
    27
  • app唤起小程序_微信小程序支付轮训

    app唤起小程序_微信小程序支付轮训在同一开放平台账号下的移动应用及小程序无需关联即可完成跳转,非同一开放平台账号下的小程序需与移动应用(APP)成功关联后才支持跳转。可在“管理中心-移动应用-应用详情-关联小程序信息”,为通过审核的

    2022年8月2日
    8

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号