我知道了微分方程
,在MATLAB中,方程可以通过以下求出:
>>x=dsolve('Dx=r*x*(1-log(x)/log(xm))','x(0)=x0','t')
x =
exp(-exp(-r/log(xm)*t+log(log(xm/x0))))*xm
所以方程的解为
对r和logxm进行非线性拟合,根据云南省1960——2010年的人口数据预测未来人口
function f=xt(g)
t=0:10;
x=[1894.6 2160.4 2503.32884.3 3173.4 3418.1 3730.6 3989.6 4240.8 4450.4 4601.6];
f=x-g(1).*exp(-exp(-g(2)./log(xm).*t)+log.*(log(xm)./1894.6));
g0=[5000,0.4];
g=lsqnonlin('xt',g0)
t=0:10;
y=1960+5.*t
f=x-g(1).*exp(-exp(-g(2)./log(xm).*t)+log.*(log(xm)./1894.6))
请大神帮忙看看,程序中的哪里出了问题,为什么出不来结果?