我想用matlab中的Isqcurvefit函数拟合出一个方程的参数

2024-11-07 23:48:12
推荐回答(1个)
回答1:

程序错在哪里?

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