matlab对指数函数的拟合

2024-05-15 23:29

1. matlab对指数函数的拟合

用V=A(1)*exp(A(2)*I)+A(3)*exp(A(4)*I)模型比较好。

clear;
X=[0.490667 0.955333 1.544 1.940667 2.48 3.026667 3.966667 4.453333 5.073333 6.033333 7.04]
Y=[253.3333 381 450 503.6667 532 520 489 481.3333 459 438.3333 422]
myfun=inline('A(1)*exp(A(2)*x)+A(3)*exp(A(4)*x)','A','x')
A = nlinfit(X,Y,myfun,[700 -0.01 -700 -1 ])
I=min(X):0.1:max(X);
V=A(1)*exp(A(2)*I)+A(3)*exp(A(4)*I);
plot(X,Y,'o',I,V)

结果:
A =

  668.9571   -0.0688 -656.7991   -1.0321

matlab对指数函数的拟合

2. 怎样用matlab指数函数拟合

拟合函数表达式:y=a*exp(b+cx)
式中a=0.06154920769,
b=-3.18125203,
c=7.822374803
拟合度0.9725(相关系数)
用V=A(1)*exp(A(2)*I)+A(3)*exp(A(4)*I)模型比较好。
A = nlinfit(X,Y,myfun,[700 -0.01 -700 -1 ])
I=min(X):0.1:max(X);
V=A(1)*exp(A(2)*I)+A(3)*exp(A(4)*I);
plot(X,Y,'o',I,V)
结果:A =668.9571 -0.0688 -656.7991 -1.0321

意义
a>1时,Y随X增大而增大,先快后慢;0<a<1时,Y随X增大而减少,先快后慢。当以Y和lnX绘制的散点图呈直线趋势时,可考虑采用对数函数描述Y与X之间的非线性关系,式中的b和a分别为斜率和截距。
曲线直线化是曲线拟合的重要手段之一。对于某些非线性的资料可以通过简单的变量变换使之直线化,这样就可以按最小二乘法原理求出变换后变量的直线方程,在实际工作中常利用此直线方程绘制资料的标准工作曲线,同时根据需要可将此直线方程还原为曲线方程,实现对资料的曲线拟合。
以上内容参考:百度百科-曲线拟合

3. 如何用matlab做指数拟合

x=[1982 1992 2002];
y=[103.5 34.5 23.3];
cftool(x,y)

在弹出的对话框选择fitting,弹出新的对话框选择 new fit,然后在第三个下拉菜单(Type of fit)中选择Exponential,然后点击Apply,即可;最后结果
General model Exp1:
       f(x) = a*exp(b*x)
Coefficients (with 95% confidence bounds):
       a =  1.453e+082  (-7.288e+084, 7.317e+084)
       b =    -0.09312  (-0.3464, 0.1602)

Goodness of fit:
  SSE: 90.2
  R-square: 0.9761
  Adjusted R-square: 0.9522
  RMSE: 9.497

注:括号中的是次要参数;

最终拟合结果:

f(x) = 1.453e+082*exp(-0.09312*x)

将2012带入即得 

f(2012)=6.2225

如何用matlab做指数拟合

4. matlab指数函数拟合

拟合 x=0.25,0.5,1,1.5,2,3,4,6,8 y=19.21,18.15,15.36,14.10,12.98,9.32,7.45,5.24,3.01
MATLAB拟合工具箱 cftool 用法及实例:1、数据准备:
我们以一组多项式数据为例,进行示例,假如多项式是y=4x^3+3x^2+2产生的数据,x取0到3之间间隔为0.3的数。

2、调用工具箱:
关于如何调用工具箱我在其他经验中有详细的介绍,有兴趣的可以查看。这里我们用命令cftool进行调用拟合工具箱,在MATLAB主窗口中输入 cftool 回车可以看到如下拟合工具箱界面

3、拟合操作步骤:
首先我们将要拟合的数据选入到工具箱中,如下图,在红圈处,点击向下三角,分别将要拟合的x y 选入,然后点击右侧的最上方的下三角,然后选择polynomial( 多项式),下面的degree是阶数,也就是x的最高次数,选择不同的degree,在图的左下角是拟合的结果,包括拟合的系数以及方差相关系数等,右侧是数据点,以拟合曲线。

5. matlab中指数模型函数拟合

clc
clear
close all
x=[0,100,200,300,400,500];
y=[1,0.62,0.40,0.21,0.18,0.12];
xx=x(2:end);
yy=y(2:end);
z=log(yy)./xx;
c=polyfit(xx,z,1);
a=c(1)
b=c(2)
ny=exp(a*x.^2+b*x);
plot(x,y,'r*')
hold on
ezplot(['exp(',num2str(a),'*x.^2+',num2str(b),'*x)'],[0 500 min(y) max(y)])
xlabel('x')
ylabel('y')
legend('原始数据散点图','拟合后函数曲线图')


运行结果

a =

    1.374119463200583e-006


b =

  -0.005030534633423

matlab中指数模型函数拟合

6. matlab 指数函数曲线拟合

你可以用 fit()函数拟合,得到系数a、b的值。
数学模型应选用y=a*exp(-bx)
其中:       a =      0.4467 ; b =       2.151;

7. 如何利用matlab拟合e指数函数?

x=0:0.1:10;      %x的取值范围,可以为任意的。
y=exp(x);          %e指数函数
p=polyfit(x,y,5)  %五次多项式去拟合e指数函数,得到的p是五次多项式的系数。

如何利用matlab拟合e指数函数?

8. 如何用MATLAB拟合指数方程

多项式函数拟合:a=polyfit(xdata,ydata,n)
其中n表示多项式的最高阶数,xdata,ydata为将要拟合的数据,它是用数组的方式输入.输出参数a为拟合多项式的系数
多项式在x处的值y可用下面程序计算.
y=polyval(a,x)