已知函数模型:y=a*e^-x⼀m+b*e^-x⼀n+c,还有x和y的两组数据,求用Matlab拟合出参数a、b、c、m、n的程序

2024-11-18 14:42:03
推荐回答(1个)
回答1:

这类问题可以用nlinfit()函数或lsqcurvefit()函数,很方便地求出拟合系数a、b、c、m、n。求解步骤:
x=[。。。]; %已知数据
y=[。。。]; %已知数据
func=@(a,x)a(1)*exp(-x/a(4))+a(2)*exp(-x/a(5))+a(3)
说明:a=a(1)、b=a(2)、c=a(3)、m=a(4)、n=a(5)
a0=[1 1 1 1 1]; %初值可以根据已知数据和拟合函数的性质来定。
a=nlinfit(x,y,func,a0)
x1=x;
y1=func(a,x1);
[y' y1'] %比较已知数据与拟合数据的差值。