matlab对指数函数的拟合

2024-05-14

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指数函数拟合

拟合 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,在图的左下角是拟合的结果,包括拟合的系数以及方差相关系数等,右侧是数据点,以拟合曲线。

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

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

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

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

用matlab指数函数拟合,可以按下列例子的步骤进行:
t=0:1.25:25;
x=[10.85,11.31,12.30,13.44,13.63,14.19,15.18,15.61,15.90,16.98,17.38,17.78,18.66,19.19,17.78,19.21,19.14,19.74,19.96,20.06,19.91];
myfun=@(k,t)(k(1).*(1-k(2).*exp(-k(3)*t)).^(1/(1-k(4))));

beta0 =[0.92181      0.73821      0.17627      0.40571]

[k,r]=nlinfit(t,x,myfun,beta0)

5. 请教如何用matlab拟合指数函数曲线:y=a*exp(b*x),不用cftool,用函数

clc;clear
x=;%自己给数据
y=;%自己给数据
p=polyfit(x,log(y),1);
b=p(1);
a=p(2);
yfit=a*exp(b*x);
plot(x,y,'r-.')
plot(x,yfit,'b-.')
legend('拟合前','拟合后')

请教如何用matlab拟合指数函数曲线:y=a*exp(b*x),不用cftool,用函数

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

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

7. 怎么用matlab做指数函数曲线拟合并求参数,请求高人帮忙。(下附公式及数据)

mat是matlab的数据文件,可以直接双击导入
或者通过命令窗输入命令以及编写m文件导入

如果是当前目录下的文件file1.mat,直接输入load file1
如果不是当前目录下的,输入 load(['目录\file1.mat']);
如果file1里含有a,b,c这三个变量,
导入后数据空间里,就直接存在a,b,c这三个量

如果怕数据空间里有重名的,会把已有数据冲掉

怎么用matlab做指数函数曲线拟合并求参数,请求高人帮忙。(下附公式及数据)

8. 用matlab最小二乘法拟合指数函数

myfun。m
function y = myfun(beta,x)
A=....
B=....
C=....

m=beta(1);

n=beta(2);
y=A*(B^m)*(C*x^n)

窗口下执行以下命令
beta0=rand(1,2)
[beta,r,J]=nlinfit(x,y,@myfun,beta0);