106347084 发表于 2009-3-25 16:31

logistic人口模型的求解问题

logistic 方程的系数求解

已知logistic模型为 x(t)=xm/(1+(xm/x0-r)*exp(-r*t))其中XM,X0,R是参数。
已经1978-2006年的人口数据,x=
y=[3750.96
3792.33
3826.58
3871.51
3924.32
3963.1
3993.09
4029.56
4070.07
4121.19
4169.85
4208.88
4234.91
4261.37
4285.91
4313.3
4341.2
4369.63
4400.09
4422.28
4446.86
4467.46
4501.22
4519.84
4535.98
4551.58
4577.22
4602.11
4629.43]'希望能拟合出那3个参数?
请教高手求解~~~~

本人试过CFTOOL,lsqcurvefit都拟合不来?(或者说完全失真)
请高手实际能做出后得到答案?最好是能解释下为什么那2个工具不行~~~~

g853513345 发表于 2009-7-28 20:06

高手怎么没有回答呢

g853513345 发表于 2009-7-28 20:06

我也急需此问题的解决办法

fc013 发表于 2009-7-29 20:36

:):victory:

shuqg02 发表于 2009-8-1 19:09

我也想帮你,可我也不会。

水木年华zzu 发表于 2009-8-11 16:07

先去对数然后再拟合

Kadyniost 发表于 2009-8-11 20:55

.................。。。

dcxyfcm 发表于 2010-12-21 21:23



clc;
clear;clf
t=1971:1990;
N=[8.523,8.718,8.921,9.086,9.242,9.372,9.497,9.626,9.754,9.871...
    10.007,10.165,10.301,10.436,10.585,10.751,10.930,11.103,11.270,11.433];
M=1./N-1/20;
plot(t,N,'k.','markersize',20);
axis();
grid;
hold on
pause(0.5)
n=20;
a=sum(t(1:n));
b=sum(t(1:n).*t(1:n));
c=sum(log(M(1:n)));
d=sum(t(1:n).*log(M(1:n)));
A=;
B=;
p=inv(A)*B;
x=1971:2010;
y=1./(0.05+exp(p(1)+p(2)*x));
plot(x,y,'r-','linewidth',2)
p,y

zsy312 发表于 2010-12-22 23:22

大家以后再发布代码的时候千万用高级模式点代码,比如:
x(t)=xm/(1+(xm/x0-r)*exp(-r*t))
不然拷过去就有一堆花乱码,修改很麻烦。

zsy312 发表于 2010-12-22 23:31

修改数据又折腾了一阵子:
y=[3750.96
3792.33
3826.58
3871.51
3924.32
3963.1
3993.09
4029.56
4070.07
4121.19
4169.85
4208.88
4234.91
4261.37
4285.91
4313.3
4341.2
4369.632
4400.09
4422.28
4446.86
4467.462
4501.22
4519.843
4535.98
4551.58
4577.22
4602.114
4629.43]'



页: [1] 2
查看完整版本: logistic人口模型的求解问题