matlab 指数函数曲线拟合

matlab 指数函数曲线拟合,第1张

你可以用 fit()函数拟合,得到系数a、b的值。

数学模型应选用y=aexp(-bx)

其中:       a =      04467 ; b =       2151;

按常理:按下面 *** 作即可

在Matlab下输入:edit,然后将下面两行百分号之间的内容,复制进去,保存

%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

function F=zhidao_fit_4(a,x)

F=a(1)+exp(a(2)x);

%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

在Matlab下面输入:

x=1993:1:2003;

y=[0818691554 0789061222 0751629834 0738927407 0735678662 0689186775 068293436 0665770829 0659170406 0637114428 062024148];

[A,res]=lsqcurvefit('zhidao_fit_4',0001ones(1,2),x,y);

A

结果:

A =

07080 -00953

但是作图的话,就不好了。

>> yy=zhidao_fit_4(A,x);

>> plot(x,y,'',x,yy,'r')

差距比较大。

你看一下,你的x是在指数上面的,你的x那么大

建议你:

x=1:11;

y=[0818691554 0789061222 0751629834 0738927407 0735678662 0689186775 068293436 0665770829 0659170406 0637114428 062024148];

[A,res]=lsqcurvefit('zhidao_fit_4',0001ones(1,2),x,y);

A

>> yy=zhidao_fit_4(A,x);

>> plot(x,y,'',x,yy,'r')

这样做出来的图就好多了。

=========================

至于R^2

你最好给个表达式。

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

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

1、在命令行输入数据:

》x=[1103323 1487328 178064 2028258033 2247105 2445711 262908 2800447 296204 3115475];

》y=[5 10 15 20 25 30 35 40 45 50];

2、启动曲线拟合工具箱

》cftool

3、进入曲线拟合工具箱界面“Curve Fitting tool”

(1)点击“Data”按钮,d出“Data”窗口;

(2)利用X data和Y data的下拉菜单读入数据x,y,可修改数据集名“Data set name”,然后点击“Create data set”按钮,退出“Data”窗口,返回工具箱界面,这时会自动画出数据集的曲线图;

(3)点击“Fitting”按钮,d出“Fitting”窗口;

(4)点击“New fit”按钮,可修改拟合项目名称“Fit name”,通过“Data set”下拉菜单选择数据集,然后通过下拉菜单“Type of fit”选择拟合曲线的类型,工具箱提供的拟合类型有:

Custom Equations:用户自定义的函数类型

Exponential:指数逼近,有2种类型, aexp(bx) 、 aexp(bx) + cexp(dx)

Fourier:傅立叶逼近,有7种类型,基础型是 a0 + a1cos(xw) + b1sin(xw)

Gaussian:高斯逼近,有8种类型,基础型是 a1exp(-((x-b1)/c1)^2)

Interpolant:插值逼近,有4种类型,linear、nearest neighbor、cubic spline、shape-preserving

Polynomial:多形式逼近,有9种类型,linear ~、quadratic ~、cubic ~、4-9th degree ~

Power:幂逼近,有2种类型,ax^b 、ax^b + c

Rational:有理数逼近,分子、分母共有的类型是linear ~、quadratic ~、cubic ~、4-5th degree ~;此外,分子还包括constant型

Smoothing Spline:平滑逼近(翻译的不大恰当,不好意思)

Sum of Sin Functions:正弦曲线逼近,有8种类型,基础型是 a1sin(b1x + c1)

Weibull:只有一种,abx^(b-1)exp(-ax^b)

以上就是关于matlab 指数函数曲线拟合全部的内容,包括:matlab 指数函数曲线拟合、matlab指数拟合、如何用matlab数据拟合函数等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/zz/9512722.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-04-29
下一篇 2023-04-29

发表评论

登录后才能评论

评论列表(0条)

保存