www.gusucode.com > 建模 人口增长模型 项目matlab源码程序 > population.m

    clear;clc   %清空所有变量,清除命令栏
B=5;        %设定B的值
D=0.2;      %设定D的值
Dc=0.01;    %设定Dc的值
dt=0.1;     %设定dt的值
x(1)=13;    %设定人口初值为13
for n=1:100;
    x(n+1)=x(n)+dt*(B*x(n)-D*x(n)-Dc*x(n)*x(n));   %使用for循环,计算equation of differences,
                                                                            %得到人口数量
end

t=dt*(0:100);     %计算time
plot(t,x)       %绘制time-Population曲线
xlabel('time')        %设定图的横坐标名称
ylabel('Population size')  %设定图的纵坐标名称
title('Population')   %设定图的标题

xn=x(1:end-1);  %x的第1个数至倒数第2个数为x(n)
xn1=x(2:end);   %x的第2个数至最后一个数为x(n+1)
figure
plot(xn,xn1)    %绘制steady states图,横坐标为x(n),纵坐标为x(n+1)
hold on       %保持当前坐标
plot([0 600],[0 600],'r')   %绘制y=x直线
scatter(x(end-1),x(end),'k')   %标出两条线的交点,用黑色圆圈表示
xlabel('Population size at t(n)')  %设定图的横坐标名称
ylabel('Population size at t(n+1)')  %设定图的纵坐标名称
title('Graphical analysis:steady states')  %设定图的标题