先来一个简单MATLAB代码说明logistic模型:
clear all;clc;
x=0:1:12;
y=[43.65 109.86 187.21 312.67 496.58 707.65 960.25 1238.75 1560.00 1824.29 2199.00 2438.89 2737.71];
[ABC,res]=lsqcurvefit('logismodel',[k,a],x,y);
kk=ABC(1);
aa=ABC(2);
y_logistic=logismodel(ABC,x);
figure;
plot(x,y,'.r',x,y_logistic,'g');
legend('实验数据点','Logistic模型');
其中函数logismodel:
function y=logismodel(A,x)
k=A(1);
a=A(2);
L=3000;
y=L./(1+a*exp(-k*x));
%%%%%%%%%%%%%%%%%%%%
同样这个例子中的数据,用其它方法拟合