已知函数模型:y=a*e^-x/m+b*e^-x/n+c,还有x和y的两组数据,求用Matlab拟合出参数a、b、c、m、n的程序 5
展开全部
这类问题可以用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'] %比较已知数据与拟合数据的差值。
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'] %比较已知数据与拟合数据的差值。
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询