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)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • php://input allow_url_include,DVWA设置PHP函数allow_url_include:已禁用

    php://input allow_url_include,DVWA设置PHP函数allow_url_include:已禁用DatabaseSetupClickonthe‘Create/ResetDatabase’buttonbelowtocreateorresetyourdatabase.Ifyougetanerrormakesureyouhavethecorrectusercredentialsin:C:\XAMPP\htdocs\dvwa/config/c…

    2022年7月21日
    13
  • grub2引导u盘启动_grub4dos怎么进入系统

    grub2引导u盘启动_grub4dos怎么进入系统grub引导BT3硬盘启动                   阿太080611 一、这里使用grub引导程序,关于grub引导程序,这里不多说,其是一个很强的系统引导器,可以区分和引导各种系统.这里提供一个grubfordos安装程序;解压后copy到c:/boot/grub/目录下,并copymenu.lst和chinese目录中的文件grldr文件到C:/.

    2022年10月1日
    3
  • 【Python】python文件打开方式详解——a、a+、r+、w+、rb、rt区别[通俗易懂]

    【Python】python文件打开方式详解——a、a+、r+、w+、rb、rt区别[通俗易懂]第一步排除文件打开方式错误:r只读,r+读写,不创建w新建只写,w+新建读写,二者都会将文件内容清零(以w方式打开,不能读出。w+可读写)w+与r+区别:r+:可读可写,若文件不存在,报错;w+:可读可写,若文件不存在,创建r+与a+区别:fd=open(“1.txt”,’w+’)fd.write(‘123’)fd=open(“1.txt”,’r…

    2022年7月13日
    15
  • java接口详解

    java接口详解Java基础——接口一、接口的概述:官方解释:Java接口是一系列方法的声明,是一些方法特征的集合,一个接口只有方法的特征没有方法的实现,因此这些方法可以在不同的地方被不同的类实现,而这些实现可以具有不同的行为(功能)。我的解释:接口可以理解为一种特殊的类,里面全部是由全局常量和公共的抽象方法所组成。接口是解决Java无法使用多继承的一种手段,但是接口在实际中更多的作用是制定标准的。或者我们可以直接把接口理解为100%的抽象类,既接口中的方法必须全部是抽象方法。(JDK1.8之前可以这样理解)二、接

    2022年7月7日
    29
  • 光纤百兆口和千兆口_交换机万兆光口能使用千兆模块吗

    光纤百兆口和千兆口_交换机万兆光口能使用千兆模块吗10gb万兆以太网光口向下无法兼容千兆光口。10G以太网的物理层已经改变,10G端口连接千兆端口无法工作。千兆以太网、万兆以太网与高速以太网的区别:1.传统以太网(十兆以太网)采用曼彻特斯编码;2.快速以太网(百兆以太网)采用4B/5B码;3.千兆以太网采用8S/10B;4.万兆以太网IEEE802.3提出的新的MB810编码方式。5.传统以太网物理层标准有10BASE2、10BASE5和10BA…

    2022年8月30日
    4
  • 如何定制zencart模板「建议收藏」

    如何定制zencart模板「建议收藏」很多用户对zencart做了自己的修改,非常好!但同时,一些用户修改了很多重要的文件,例如:/includes/filenames.php/includes/languages/schinese.php/includes/languages/schinese/*.php等等…友情提示:如果你希望以后的升级更容易,不要修改这些文件!ZenCart的文件替代机制的功

    2022年7月27日
    7

发表回复

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

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