单击此处编辑母版标题样式,单击此处编辑母版文本样式,第二级,第三级,第四级,第五级,*,*,用,Matlab,求解差分方程问题,一、一阶线性常系数差分方程,二、高阶线性常系数差分方程,三、线性常系数差分方程组,一、一阶线性常系数差分方程,濒危物种的自然演变和人工孵化,问题,Florida,沙丘鹤属于濒危物种,它在较好自然环境下,年均增长率仅为,1.94%,,而在中等和较差环境下年均增长率分别为,-3.24%,和,-3.82%,,如果在某自然保护区内开始有,100,只鹤,建立描述其数量变化规律的模型,并作,数值计算。,模型建立,记第,k,年沙丘鹤的数量为,xk,年均增长率为,r,,则第,k+1,年鹤的数量为,x,k+1,=(1+r),x,k k=0,1,2,已知,x,0=100,在较好,中等和较差的自然环境下,r=0.0194,-0.0324,和,-0.0382,我们利用,Matlab,编程,递推,20,年后观察沙丘鹤的数量变化情况,Matlab,实现,首先建立一个关于变量,n,,,r,的函数,function x=,sqh(n,r,),a=1+r;,x=100;,for k=1:n,x(k+1)=a*,x(k,);,end,在,command,窗口里调用,sqh,函数,k=(0:20);,y1=sqh(20,0.0194);,y2=sqh(20,-0.0324);,y3=sqh(20,-0.0382);,round(k,y1,y2,y3),利用,plot,绘图观察数量变化趋势,可以用不同线型和颜色绘图,r g b c m y k w,分别表示,红绿兰兰绿洋红黄黑白色,:,+o*.X s d,表示不同的线型,plot(k,y1,k,y2,k,y3),在同一坐标系下画图,plot(k,y2,:),plot(k,y2,-),plot(k,y2,r),plot(k,y2,y),plot(k,y2,y,k,y1,:),plot(k,y2,k,y1,:),plot(k,y2,oy,k,y1,:),用,gtext(r=0.0194),gtext(r=-0.0324),gtext(r=-0.0382),在图上做标记。,人工孵化是挽救濒危物种的措施之一,如果每年孵化,5,只鹤放入保护区,观察在中等自然条件下沙丘鹤的数量如何变化,X,k+1,=,aX,k,+5 ,a=1+r,如果我们想考察每年孵化多少只比较合适,可以令,X,k+1,=,aX,k,+b ,a=1+r,function x=,fhsqh(n,r,b,),a=1+r;,X=100;,For k=1:n,X(k+1)=a*,x(k)+b,;,end,k=(0:20);%,一个行向量,y1=(20,-0.0324,5);,也是一个行向量,round(k,y 1 ),对,k,y1,四舍五入,但,是 不改变变量的值,plot(k,y1)k y1,是行向量列向量都可以,也可以观察,200,年的发展趋势,以及在较差条件下的发展趋势,也可以考察每年孵化数量变化的影响。,一阶线性常系数差分方程的解、平衡点及其稳定性,自然环境下,b=0,人工孵化条件下,令,x,k,=,x,k+1,=,x,得,差分方程的平衡点,k,时,,xkx,称平衡点是稳定的,高阶线性常系数差分方程,如果第,k+1,时段变量,Xk+1,不仅取决于第,k,时段变量,Xk,,而且与以前时段变量有关,就要用高阶差分方程来描述,一年生植物的繁殖,一年生植物春季发芽,夏天开花,秋季产种,没有腐烂,风干,被人为掠取的那些种子可以活过冬天,其中一部分能在第,2,年春季发芽,然后开花,产种,其中的另一部分虽未能发芽,但如又能活过一个冬天,则其中一部分可在第三年春季发芽,然后开花,产种,如此继续,一年生植物只能活,1,年,而近似的认为,种子最多可以活过两个冬天,试建立数学模型研究这种植物数量变化的规律,及它能一直繁殖下去的条件。,模型及其求解,记一棵植物春季产种的平均数为,c,种子能活过一个冬天的,(1,岁种子,),比例为,b,活过一个冬天没有发芽又活过一个冬天的(,2,岁种子)比例仍为,b,1,岁种子发芽率,a1,,,2,岁种子发芽率,a2,。,设,c,a1,a2,固定,,b,是变量,考察能一直繁殖的条件,记第,k,年植物数量为,Xk,,显然,Xk,与,X,k-1,X,k-2,有关,由,X,k-1,决定的部分是,a,1,bcXk-1,由,X,k-2,决定的部分是,a,2,b(1-,a,1,)bcX,k-2,Xk,=a1bcXk-1 +a2b(1-a1)bcXk-2,Xk,=a1bcXk-1 +a2b(1-a1)bcXk-2,实际上,就是,Xk,=pXk-1+qXk-2,我们需要知道,x0,a1,a2,c,考察,b,不同时,种子繁殖的情况。在这里假设,X0=100,a1=0.5,a2=0.25,c=10,b=0.180.20,这样可以用,matlab,计算了,Xk,=a1bcXk-1 +a2b(1-a1)bcXk-2,Function x=zwfz(x0,n,b),C=10;a1=0.5;a2=0.25;,p=a1*b*,c;q,=a2*b*(1-a1)*b*c;,X1=x0;,X2=p*(x1);,for k=3:n,X(k,)=p*(xk-1)+q*(xk-2);,end,K=(0:20);,Y1=zwfz(100,21,0.18);,Y2=zwfz(100,21,0.19);,Y3=zwfz(100,21,0,20);,Round(k,y1,y2,y3),Plot(k,y1,k,y2,:,k,y3,o),Gtext(b,=0.18),gtext(b=0.19),gtext(b=0.20),结果分析:,Xk,=pX,k-1,+qX,k-2 (1)x,1,+px,0,=0 (2),对高阶差分方程可以寻求形如,的解。代入,(1),式得,称为差分方程的特征方程。差分方程的特征根:,方程,(1),的解可以表为,C1,c2,由初始条件,x0,x1,确定。,本例中,用待定系数的方法可以求出,b=0.18,时,c1=95.64,c2=4.36,,,这样,实际上,,植物能一直繁殖下去的条件是,b0.191,线性常系数差分方程组,汽车租赁公司的运营,一家汽车租赁公司在,3,个相邻的城市运营,为方便顾客起见公司承诺,在一个城市租赁的汽车可以在任意一个城市归还。根据经验估计和市场调查,,一个租赁期内在,A,市租赁的汽车在,A,B,C,市归还的比例分别为,0.6,0.3,0.1;,在,B,市租赁的汽车归还比例,0.2,0.7,0.1;C,市租赁的归还比例分别为,0.1,0.3,0.6,。若公司开业时将,600,辆汽车平均分配到,3,个城市,建立运营过程中汽车数量在,3,个城市间转移的模型,并讨论时间充分长以后的变化趋势。,0.6,0.3,A B C,A B C,A B C,假设在,每个租,赁期开,始能把,汽车都,租出去,,并都在,租赁期,末归还,0.1,0.7,0.2,0.1,0.6,0.3,0.1,模型及其求解,记第,k,个租赁期末公司在,ABC,市的汽车数量分别为,x1(k),x2(k),x3(k),(也是第,k+1,个租赁期开始各个城市租出去的汽车数量),很容易写出第,k+1,个租赁期末公司在,ABC,市的汽车数量为,(k=0,1,2,3),用矩阵表示,用,matlab,编程,计算,x(k,),观察,n,年以后的,3,个城市的汽车数量变化情况,function x=,czqc(n,),A=0.6,0.2,0.1;0.3,0.7,0.3;0.1,0.1,0.6;,x(:,1)=200,200,200;,for k=1:n,x(:,k+1)=A*,x(:,k,);,end,如果直接看,10,年或者,20,年发展趋势,可以直接在命令窗,口(,commond,window,)作,而不是必须编一个函数,A=0.6,0.2,0.1;0.3,0.7,0.3;0.1,0.1,0.6;,n=10;,for k=1:n,x(:,1)=200,200,200;,x(:,k+1)=A*,x(:,k,);,end,round(x,),作图观察数量变化趋势,k=0:10;,plot(k,x,),,,grid,gtext(x1(k),gtext(x2(k),gtext(x3(k),可以看到时间充分长以后,3,个城市汽车数量趋于,180,,,300,,,120,可以考察这个结果与初始条件是否有关,若最开始,600,辆汽车都在,A,市,可以看到变化时间充分长以后,各城市汽车数量趋于稳定,与初始值无关,直接输入,x,(,:,1,)的值即可,x(:,1)=600,0,0;,round(x,);,plot(k,x),grid,按年龄分组的种群增长,野生或饲养的动物因繁殖而增加,因自然死亡和人为屠杀而减少,不同年龄动物的繁殖率,死亡率有较大差别,因此在研究某一种群数量的变化时,需要考虑年龄分组的种群增长。,将种群按年龄等间隔的分成若干个年龄组,时间也离散化为时段,给定各年龄组种群的繁殖率和死亡率,建立按年龄分组的种群增长模型,预测未来各年龄组的种群数量,并讨论时间充分长以后的变化趋势。,模型及其求解,设种群按年龄等间隔的分成,n,个年龄组,记,i=1,2,,,n,时段记作,k=0,1,2,且年龄组区间与时段长度相等,(,若,5,岁为一个年龄组,则,5,年为一个时段,),。以雌性个体为研究对象,记在时段,k,第,i,年龄组的数量为,x,i,(k,);,第,i,年龄组的繁殖率为,bi,,表示每个个体在一个时段内繁殖的数量;第,i,年龄组死亡率为,di,,表示一个时段内死亡数与总数的比,,si,=1-di,是存活率。,注意:第,k,时段的第,i,年龄组活过来的,是第,k+1,时段的第,i+1,年龄组,X,i+1(k+1)=,s,i,x,i(k,),i=1,,,2,n-1,k=0,1,各年龄组在第,k,时段繁殖的数量和是第,k+1,时段的第,1,年龄组,X,1,(k+1)=k=0,1,记在时段,k,种群各年龄组的数量为,X(k,)=x1(k),x2(k),xn(k),这样,有,x(k+1)=,Lx(k),k,=0,1,给定在,0,时段,各年龄组的初始数量,x(0),就可以预测任意时段,k,各年龄组的数量,设一种群分成,5,个年龄组,,繁殖率,b1=0,b2=0.2,b3=1.8,b4=0.8,b5=0.2,存活率,s1=0.5,s2=0.8,s3=0.8,s4=0.1,各年龄组现有数量都是,100,只,,用,matlab,计算,x(k,),b=0,0.2,1.8,0.8,0.2;,s=diag(0.5,0.8,0.8,0.1);,L=b;s,zeros(4,1);,x(:,1)=100*ones(5,1);,n=30;,for k=1:n,x(:,k+1)=L*,x(:,k,);,end,round(x,),k=0:30;,subplot(1,2,1),plot(k,x),grid,将,x(k,),归一化后的向量记做,x(k,),称为种群,按年龄组的分布向量,,即各年龄组在,k,时段在数量上占总数的百分比。,y=diag(1./sum(x);%,sum(x,),对列求和,Z=x*y,Subplot(1,2,2),plot(k,z),grid,结果分析:时间充分长以后,种群按年龄组的分布,x(k,),趋向稳定。,