程序错在哪里?
1、明显的错误,是粗心大意,把 lsqcurvefit 的第一字母打成了 I(ai),应该为L 的小写。
2、运行你的程序,还存在隐形的错误,如初值的问题,拟合函数的问题。对于你的问题的处置如下,
①初值c0可以取[0.6948 0.3171 0.9502 0.0344]
②对于本样本,用lsqcurvefit()函数来拟合系数是不合适的,应该为nlinfit()函数比较合理。
[c,r,J]=nlinfit(xdata,ydata,F,c0);
按上述要求更改后,运行可得到
c(1)= 3.8405425, c(2)= 0.0007044028872,c(3)= 0.0000224100526, c(4)= -0.1413069714