用Matlab程序对logistic人口模型进行拟合?

matlab最小二乘曲线拟合对Logistic函数进行估计... matlab最小二乘曲线拟合对Logistic函数进行估计 展开
 我来答
不着魔不成活
2014-11-16 · TA获得超过125个赞
知道小有建树答主
回答量:178
采纳率:100%
帮助的人:95.4万
展开全部

clear 

clc

Y=[11985 121121 122389 123626 124761 125786 126743 127627 128453 129227 129988 130756 131448 132129 132802 133450 134091 134735 135404 136072];

T=[1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20];

for t=1:20

    x(t)=exp(-t);

    y(t)=1/Y(t);

end

c=zeros(20,1)+1;

X=[c,x'];

B=inv(X'*X)*X'*y';

for i=1:20

    z(i)=B(1,1)+B(2,1)*x(i);

    s(i)=y(i)-sum(y)/20;

    w(i)=z(i)-y(i);

end

S=s*s';

Q=w*w';

U=S-Q;

F=28*U/Q;

for j=1:20

    Y(j)=1/(B(1,1)+B(2,1)*exp(-j));

end

plot(T,Y)

本回答被提问者和网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
蕾蕾蕾2011
2014-11-16
知道答主
回答量:12
采纳率:0%
帮助的人:1.4万
展开全部
x=[1994:1:2013];
y=[2187.4515,2482.4874,2969.5184,3585.7235,4282.1428,4950.9078,5813.5624,6801.5706,7786.7920,8201.3176,9581.5101,11505.5298,12950.0601];
for i=1:length(y)-1
yy(i)=(y(i+1)-y(i))/y(i);
end
p=polyfit(y(2:end),yy,1);
r=p(2)/1;xmax=-p(2)/p(1);
xxx=2000:1:2050;
yyy=xmax./(1+(xmax/y(1)-1).*exp(-r.*(xxx-2000)));
%set(gca,'xtick',[]
plot(x,y,'.',xxx,yyy);
hold on
plot(2020,3.33e+004,'.r');
hold on
plot(2050,5.252e+004,'.r');
把Y换成自己的数据就可以了 这是之前我自己做过的。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 1条折叠回答
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式