Matlab中用fit做曲线拟合

1.确定要拟合的类型

  一般情况下matlab会直接提供常用的类型,用fittype创建拟合模型。至于matlab具体提供了哪些模型,参见帮助"List of library models for curve and surface fitting"

ft = fittype( ‘gauss1‘ ); %高斯拟合

2.要拟合的数据格式

  在最简单的情况下,即拟合两个向量X,Y,则其必须是列向量

3.拟合

 使用fit进行拟合

fitresult= fit( xData, yData, ft,);

  其输出fitresult是一个cfit型的对象(object),主要包含两个内容:1,拟合模型,即第一步中确定的拟合类型;2,拟合所得系数的值。例如对第一步中所创建的高斯模型,其fitresult 的值为

fitresult = 

     General model Gauss1:
     fo(x) =  a1*exp(-((x-b1)/c1)^2)
     Coefficients (with 95% confidence bounds):
       a1 =       45.54  (42.45, 48.64)
       b1 =     0.01011  (0.0101, 0.01012)
       c1 =   0.0002551  (0.0002353, 0.0002748)

  获得了这样一个object,如何把其中的系数提取出来呢?这个要用到coeffvalues函数

>> coeffvalues(fitresult)

ans =

   45.5426    0.0101    0.0003

  

  嗯,暂时只需要用到这些,更高级的要用的时候再说。

时间: 2024-12-08 18:48:36

Matlab中用fit做曲线拟合的相关文章

MATLAB实例:非线性曲线拟合

MATLAB实例:非线性曲线拟合 作者:凯鲁嘎吉 - 博客园 http://www.cnblogs.com/kailugaji/ 用最小二乘法拟合非线性曲线,给出两种方法:(1)指定非线性函数,(2)用傅里叶函数拟合曲线 1. MATLAB程序 clear clc xdata=[0.1732;0.1775;0.1819;0.1862;0.1905;0.1949;0.1992;0.2035;0.2079;0.2122;0.2165;0.2208;0.2252;0.2295;0.2338;0.238

【转帖】MATLAB中用FDATool设计滤波器及使用

MATLAB中用FDATool设计滤波器及使用 该文章讲述了MATLAB中用FDATool设计滤波器及使用. 1. 在Matlab中键入fdatool运行Filter Design and Analysis Tool.具体使用请参见Matlab Help中的Signal Processing Toolbox->FDATool. 2. 在fdatool工具中应该注意的几个问题:(a)Fstop(阻带截止频率)不能大于或等于采样频率Fs/2,这是由于数字滤波器设计的方式决定的.(b)将设计好的滤波器

matlab中用来批量读取的dir函数

Matlab使用dir函数获得指定文件夹下的所有子文件夹和文件,并存放在在一种为文件结构体数组中. dir函数可以有调用方式dir('.') 列出当前目录下所有子文件夹和文件dir('G:\Matlab') 列出指定目录下所有子文件夹和文件dir('*.m') 列出当前目录下符合正则表达式的文件夹和文件 得到的为结构体数组每个元素都是如下形式的结构体 name -- filename date -- modification date bytes -- number of bytes alloc

Matlab中用内建函数代替for循环

在使用matlab进行矩阵计算的时候,经常会遇到要使用for循环的情况.但其实很多操作可以用内部的一些函数代替. bsxfun, arrayfun, cellfun, spfun, structfun bsxfun: 1 C = bsxfun(fun,A,B) bsxfun可以对矩阵A和矩阵B进行对应元素的fun函数操作.其中,fun是任何标量输入输出的二元操作的函数,例如基本的加减乘除,三角函数,大小比较,以及其他任何符合条件的自定义函数. 注意,fun不能是符号,例如+,*之类,这些符号都有

Matlab自带的曲线拟合程序

这个函数的功能是能自动搜索参数的取值,从而使得方程的误差最小. 效果如下 代码如下 %% Optimal Fit of a Non-linear Function % This is a demonstration of the optimal fitting of a non-linear function to a % set of data. It uses FMINSEARCH, an implementation of the Nelder-Mead simplex % (direct

关于Matlab中用timer来实现多线程机制

Timer 计时器 MATLAB的计时器主要用于完成动画任务及定时任务. Construct timer object 构造一个计时器对象 Syntax T = timer T = timer('PropertyName1', PropertyValue1, 'PropertyName2', PropertyValue2,...) Discription T = timer constructs a timer object with default attributes. 利用默认属性构造一个

Matlab中用Timer实现多线程机制

Matlab中Timer的使用 鉴于Matlab 中缺乏多线程机制,使用Timer 无疑是一个很重要的工具,Matlab 中Timer 是一个Java 对象. (1) Timer 的定义  t=timer(); 设置属性: eg.  set(t,'Name','your_timer_name'); 当然可以一次性设置完成: 例如: TaskTimer=timer(... 'Name','FebirdTimer',... 'TimerFcn',@ExecuteTask,... 'ErrorFcn'

Android中用shape做渐变,边框,圆角等效果

以前没接触到shape的时候,做圆角,渐变等效果都是依赖图片效果:如果对PS不熟悉,光是做图就要花去大把时间. 废话不讲了,把总结的内容记录下来,俺们不是在写博客,算是做个云笔记吧. shape用法与selector类似: 1.在res-drawable文件夹新建一个.xml文件;(如btn_style.xml) <?xml version="1.0" encoding="utf-8"?> <shape xmlns:android="ht

Windows的MATLAB中用C语言写SFunction的一些坑

1.测试环境: 操作系统:Windows 10, 64bit 编译器:MinGW64 32位系统请下载对应的32位版本 MATLAB2017a 2017a之后会略有不同 2. 配置环境与流程: 下载编译器MinGW64,对于64位系统而言,需要下载个安装器,可以安装相应版本的gcc编译器,我选择的是gcc-4.9.4,在测试环境中可以正常运行 下载下来的安装器是mingw-w64-install,安装时注意选择64位,同时安装完了还有一个坑:空格. 改下载器默认的安装路径时"C:\Program