0

我正在开发代码以将 Gompertz 方程拟合到细菌生长曲线,并正在使用以下网站提供的一些示例数据进行练习:

http://www.math.tamu.edu/~phoward/m442/ia3sol.pdf

根据此代码,拟合应该几乎与数据匹配(上面网页给出的图表,第 3 页)。但是,当我运行代码时,实际数据绘制正确,但 lsqcurve 拟合非常差,并给出以下消息:

Local minimum possible.

lsqcurvefit stopped because the size of the current step is less than
the default value of the step size tolerance.

有什么我做错了吗?

感谢您的时间,

劳拉

4

1 回答 1

1

问题在于链接的文档

Gompertz 函数的参数化方式如下:

%with parameters p(1) = K and p(2) = initial population
%p(3) = r.
V = p(1).*(p(2)/p(1)).^exp(-p(3)*t);

p但是,曲线拟合的初始参数是针对向量中参数的不同顺序给出的([r, K, p0]而不是[K, p0, r])。此外,结果向量在文档中也被弄乱了。

通过改变p0这个[1000, 3.93, 0.01]曲线拟合将收敛,你会得到一个很好的拟合:

于 2016-08-13T16:05:03.127 回答