%logistics回归(人口模型)
a=textread('data4.txt');
x=a([2:2:6],:)';
x=nonzeros(x);%%相应时间人口
t=[1790:10:2000]';%%已知数据时间点
%x=[544 1376 1415 1004]';
%t=[1950 2015 2030 2050]';
t0=t(1);
x0=x(1);
fun=@(cs,td)cs(1)./(1+(cs(1)/x0-1)*exp(-cs(2)*(td-t0)));%S型曲线方程 这里为增长速率越来越小
a=textread('data4.txt');
x=a([2:2:6],:)';
x=nonzeros(x);%%相应时间人口
t=[1790:10:2000]';%%已知数据时间点
%x=[544 1376 1415 1004]';
%t=[1950 2015 2030 2050]';
t0=t(1);
x0=x(1);
fun=@(cs,td)cs(1)./(1+(cs(1)/x0-1)*exp(-cs(2)*(td-t0)));%S型曲线方程 这里为增长速率越来越小
%最后为零 故函数一直增长直到固定值(不会下降)
cs=lsqcurvefit(fun,rand(2,1),t(2:end),x(2:end),zeros(2,1))%确定参数
year=[1790:2000];%%横坐标范围
xhat=fun(cs,year);
plot(year,xhat);
cs=lsqcurvefit(fun,rand(2,1),t(2:end),x(2:end),zeros(2,1))%确定参数
year=[1790:2000];%%横坐标范围
xhat=fun(cs,year);
plot(year,xhat);