我这里用x向量代表a,b,c,m,n,楼主可对号入座
%%
close all;clear;clc;
F=@(x,xdata)(x(1)*exp(-xdata/x(2))+x(3)*exp(-xdata/x(4))+x(5));
xdata=[1 2 3 4 5];
ydata=[5 4 3 2 1];
x0=[1 1 1 1 1];
x=lsqcurvefit(F,x0,xdata,ydata)
%%
close all;clear;clc;
xdata=[1 2 3 4 5];
ydata=[5 4 3 2 1];
F=@(x)(x(1)*exp(-xdata/x(2))+x(3)*exp(-xdata/x(4))+x(5)-ydata);
x0=[1 1 1 1 1];
x=lsqnonlin(F,x0)
两个代码结果都是 5.5394 10.1713 8.3698 10.8647 -7.5688
需要提醒的是,如果拟合的函数选取不当,或者数据不够,或者数据杂乱无章的话,起点不同结果差别比较大