我正在努力适应指数级下降的数据。如果我使用cftools
来拟合单个术语指数,我就会很合适。但是,当我尝试使用fit
函数时:
f = fit(x, y, 'exp1');
它给了我以下错误:
Warning: NaN, Inf, or complex value detected in startpoint;
choosing random starting point instead.
> In curvefit.attention.Warning/throw (line 30)
In fit>iFit (line 299)
In fit (line 108)
它给出的系数最终变成了垃圾。
我认为cftools
正在运行fit
。为什么会有区别?如何从脚本中运行cftools
?
答案 0 :(得分:3)
为什么不做错误所暗示的呢?
f = fit(x, y, 'exp1', 'StartPoint', rand);
您可能希望将rand
更改为更明智的第一次猜测,但这完全取决于您的问题域。
否则cftools
应具有code generation功能,该功能会打印出MATLAB代码,该代码会复制您使用该工具以交互方式执行的任何操作,以便将来以编程方式运行它。这是一个很好的入门方式。