Matlab有一个功能强大的曲线拟合工具箱 cftool ,使用方便,能实现多种类型的线性、非线性曲线拟合。下面结合我使用的Matlab R2011b 来简单介绍如何使用这个工具箱。

假设我们要拟合的函数形式是 y=A*x*x + B*x, 且A>0,B>0 。

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、启动曲线拟合工具箱
cftool  
3、进入曲线拟合工具箱界面“Curve Fitting tool”
(1)利用X data和Y data的下拉菜单读入数据x,y,这时会自动画出数据集的曲线图,注意右侧的Auto fit选项;
(2)通过下拉菜单“Type of fit”选择拟合曲线的类型,工具箱提供的拟合类型有:
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)

选择好所需的拟合曲线类型及其子类型,并进行相关设置:
——如果是非自定义的类型,根据实际需要点击“Fit options”按钮,设置拟合算法、修改待估计参数的上下限等参数;
——如果选Custom Equations,点击“New”按钮,弹出自定义函数等式窗口,有“Linear Equations线性等式”和“General Equations构造等式”两种标签。

在本例中选Custom Equations,点击“New”按钮,选择“General Equations”标签,输入函数类型y=a*x*x + b*x,设置参数a、b的上下限,然后点击OK。

(5)类型设置完成后,点击“Apply”按钮,就可以在Results框中得到拟合结果,如下例:
general model:
f(x) = a*x*x+b*x

Coefficients (with 95% confidence bounds):
a = 0.009194 (0.009019, 0.00937)
b = 1.78e-011 (fixed at bound)

Goodness of fit:
SSE: 6.146
R-square: 0.997
Adjusted R-square: 0.997
RMSE: 0.8263

同时,也会在工具箱窗口中显示拟合曲线。

这样,就完成一次曲线拟合啦,十分方便快捷。当然,如果你觉得拟合效果不好,还可以在“Fitting”窗口点击“New fit”按钮,按照步骤(4)~(5)进行一次新的拟合。

不过,需要注意的是,cftool 工具箱只能进行单个变量的曲线拟合,即待拟合的公式中,变量只能有一个。对于混合型的曲线,例如 y = a*x + b/x ,工具箱的拟合效果并不好。

Matlab的曲线拟合工具箱CFtool使用简介相关推荐

  1. Matlab的曲线拟合工具箱CFtool的使用

    今天帮同学做了一个非线性函数的曲线拟合,以前没做过,所以是摸着石头过河.费了一下午时间,终于把曲线拟合出来了,顺道也学习了使用Matlab进行曲线拟合的方法,把学习所得记录下来,和大家共享. 一.   ...

  2. matlab曲线拟合工具箱cftool

    今天意外发现matlab的曲线拟合工具箱cftool,转自http://blog.csdn.net/chenyusiyuan/article/details/1942605,希望以后能用到 一. 单一 ...

  3. matlab曲线拟合工具箱cftool,Matlab曲线拟合工具箱CFtool使用

    Matlab曲线拟合工具箱CFtool使用 CFtool是Matlab中的曲线拟合工具箱,能够实现很多基本的曲线拟合算法,使用非常方便,现将其使用方法简介如下: 步骤1:在命令行输入数据x.y x=[ ...

  4. matlab曲线拟合工具箱 cftool

    Matlab有一个功能强大的曲线拟合工具箱 cftool ,使用方便,能实现多种类型的线性.非线性曲线拟合.下面结合我使用的Matlab R2011b 来简单介绍如何使用这个工具箱. 假设我们要拟合的 ...

  5. Matlab非线性拟合工具箱cftool

    一. 单一变量的曲线逼近 Matlab有一个功能强大的曲线拟合工具箱 cftool ,使用方便,能实现多种类型的线性.非线性曲线拟合.下面结合我使用的 Matlab R2007b 来简单介绍如何使用这 ...

  6. 【 MATLAB 】信号处理工具箱之 ifft 简介及案例分析

    这篇博文和上篇博文对应:[ MATLAB ]信号处理工具箱之fft简介及案例分析 目录 ifft Syntax Description 案例分析 Inverse Transform of Vector ...

  7. 【 MATLAB 】信号处理工具箱之fft简介及案例分析

    目录 Syntax Description Y = fft(X) Y = fft(X,n) Y = fft(X,n,dim) Examples Noisy Signal Syntax Y = fft( ...

  8. 【 MATLAB 】信号处理工具箱之 idct 简介及案例分析

    有关idct的基础知识见博文:[ MATLAB ]逆离散余弦变换(idct)的基础知识介绍 idct 逆离散余弦变换 Syntax x = idct(y) x = idct(y,n) x = idct ...

  9. 【 MATLAB 】信号处理工具箱之 dct 简介及案例分析

    dct Discrete cosine transform Syntax y = dct(x) y = dct(x,n) y = dct(x,n,dim) y = dct(___,'Type',dct ...

最新文章

  1. JAVA期末简答题参考
  2. 乐在其中设计模式(C#)系列文章索引
  3. eveningplan
  4. 【linux学习笔记八】常用命令
  5. I2C 协议分析和学习
  6. 为什么越有钱的人负债越多?
  7. Parts of a URL
  8. 【目标定位】基于matlab粒子滤波目标定位仿真【含Matlab源码 129期】
  9. C# 中intptr用法
  10. 几个小图像处理工具网址
  11. AcWing 790 数的三次方根
  12. ARM汇编 BIC和ORR指令
  13. 微信小程序图书借阅系统+后台管理系统
  14. Hive的HQL的执行过程(怎么转换成MR、Spark等任务)
  15. 2022.4月份科研记录【日记】
  16. 社区社群运营,如何打造火爆营销的方法?
  17. 解决生产计划排程APS系统七大问题,提升企业生产效率!
  18. P1462 通往奥格瑞玛的道路
  19. UVA1626 Brackets sequence
  20. php区块链以太坊,兄弟连区块链教程以太坊源码分析CMD深入分析(一)

热门文章

  1. 30 网站项目建设流程概述
  2. Bailian2912 三个完全平方数【进制+枚举】
  3. CCF NOI1031 等腰三角形
  4. Matlab Tricks(十七)—— 使用 Latex
  5. 机器学习编程接口(api)设计(oop 设计)
  6. 随机事件、随机变量、概率、概率密度函数
  7. 【智力题】—— 猴子分桃
  8. 【笔试/面试】—— 数组中第二大的数
  9. python入门到精通 pdf-运维必备Python基础入门到精通.pdf
  10. python中文版软件下载-专业PYTHON开发工具——PyCharm中文汉化版下载(图文)