《怎样用求解差分方程题精品文稿.ppt》由会员分享,可在线阅读,更多相关《怎样用求解差分方程题精品文稿.ppt(34页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
1、怎样用求解差分方程题第1页,本讲稿共34页一、一阶线性常系数差分方程一、一阶线性常系数差分方程濒危物种的自然演变和人工孵化濒危物种的自然演变和人工孵化问题问题 Florida沙丘鹤属于濒危物种,它在较好自然沙丘鹤属于濒危物种,它在较好自然环境下,年均增长率仅为环境下,年均增长率仅为1.94%,而在中等和较差环,而在中等和较差环境下年均增长率分别为境下年均增长率分别为-3.24%和和 -3.82%,如果在某自然保护区内开始有,如果在某自然保护区内开始有100只鹤,只鹤,建立描述其数量变化规律的模型,并作建立描述其数量变化规律的模型,并作 数值计算。数值计算。第2页,本讲稿共34页模型建立模型建立
2、记第记第k年沙丘鹤的数量为年沙丘鹤的数量为xk,年均增长率为年均增长率为r,则第,则第k+1年鹤的数量为年鹤的数量为 xk+1=(1+r)xk k=0,1,2已知已知x0=100,在较好,中等和较差的自然环在较好,中等和较差的自然环境下境下 r=0.0194,-0.0324,和和-0.0382 我们利用我们利用Matlab编程,递推编程,递推20年后观察沙丘鹤的数量变年后观察沙丘鹤的数量变化情况化情况第3页,本讲稿共34页Matlab实现实现首先建立一个关于变量首先建立一个关于变量n,r的函数的函数function x=sqh(n,r)a=1+r;x=100;for k=1:n x(k+1)=
3、a*x(k);end第4页,本讲稿共34页在在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)第5页,本讲稿共34页利用plot 绘图观察数量变化趋势可以用不同线型和颜色绘图可以用不同线型和颜色绘图r g b c m y k w 分别表示分别表示 红绿兰兰绿洋红黄黑白色红绿兰兰绿洋红黄黑白色:+o*.X s d 表示不同的线型表示不同的线型 第6页,本讲稿共34页 plot(k,y1,k,y2,k,y3)在同一坐标系下画图在同一坐
4、标系下画图 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)在图上做标记。第7页,本讲稿共34页人工孵化是挽救濒危物种的措施之一,如人工孵化是挽救濒危物种的措施之一,如果每年孵化果每年孵化5只鹤放入保护区,观察在中等只鹤放入保护区,观察在中等自然条件下沙丘鹤的数量如何变化自然条件下沙丘鹤的数量如何变化Xk+1=aXk+5 ,a=1+r如果
5、我们想考察每年孵化多少只比较合适,可以令Xk+1=aXk+b ,a=1+r第8页,本讲稿共34页function x=fhsqh(n,r,b)a=1+r;X=100;For k=1:nX(k+1)=a*x(k)+b;end第9页,本讲稿共34页k=(0:20);%一个行向量一个行向量y1=(20,-0.0324,5);也是一个行向量也是一个行向量round(k,y 1 )对对k,y1四舍五入,但四舍五入,但 是是 不改变变量的值不改变变量的值 plot(k,y1)k y1 是行向量列向量都可以是行向量列向量都可以也可以观察也可以观察200年的发展趋势,以及在较差年的发展趋势,以及在较差条件下的
6、发展趋势,也可以考察每年孵条件下的发展趋势,也可以考察每年孵化数量变化的影响。化数量变化的影响。第10页,本讲稿共34页一阶线性常系数差分方程的解、平衡点及其稳定性一阶线性常系数差分方程的解、平衡点及其稳定性自然环境下自然环境下,b=0人工孵化条件下人工孵化条件下令令xk=xk+1=x得得 差分方程的平衡点差分方程的平衡点k时,时,xkx,称平衡点是稳定的称平衡点是稳定的第11页,本讲稿共34页高阶线性常系数差分方程高阶线性常系数差分方程 如果第如果第k+1时段变量时段变量Xk+1不仅取决于不仅取决于第第k时段变量时段变量Xk,而且与以前时段变量有,而且与以前时段变量有关,就要用高阶差分方程来
7、描述关,就要用高阶差分方程来描述第12页,本讲稿共34页一年生植物的繁殖一年生植物的繁殖一年生植物春季发芽,夏天开花,秋季一年生植物春季发芽,夏天开花,秋季产种,没有腐烂,风干,被人为掠取的产种,没有腐烂,风干,被人为掠取的那些种子可以活过冬天,其中一部分能那些种子可以活过冬天,其中一部分能在第在第2年春季发芽,然后开花,产种,其年春季发芽,然后开花,产种,其中的另一部分虽未能发芽,但如又能活中的另一部分虽未能发芽,但如又能活过一个冬天,则其中一部分可在第三年过一个冬天,则其中一部分可在第三年春季发芽,然后开花,产种,如此继续,春季发芽,然后开花,产种,如此继续,一年生植物只能活一年生植物只能
8、活1年,而近似的认为,年,而近似的认为,种子最多可以活过两个冬天,试建立数种子最多可以活过两个冬天,试建立数学模型研究这种植物数量变化的规律,学模型研究这种植物数量变化的规律,及它能一直繁殖下去的条件。及它能一直繁殖下去的条件。第13页,本讲稿共34页模型及其求解模型及其求解记一棵植物春季产种的平均数为记一棵植物春季产种的平均数为c,种子能种子能活过一个冬天的活过一个冬天的(1岁种子岁种子)比例为比例为b,活过活过一个冬天没有发芽又活过一个冬天的(一个冬天没有发芽又活过一个冬天的(2岁种子)比例仍为岁种子)比例仍为b,1岁种子发芽率岁种子发芽率a1,2岁种子发芽率岁种子发芽率a2。设设c,a1
9、,a2固定,固定,b是变量,考察能一直繁殖的条件是变量,考察能一直繁殖的条件记第记第k年植物数量为年植物数量为Xk,显然,显然Xk与与Xk-1,Xk-2有关,由有关,由 Xk-1决定的部分是决定的部分是 a1bcXk-1,由由Xk-2决定的部分是决定的部分是 a2b(1-a1)bcXk-2 Xk=a1bcXk-1 +a2b(1-a1)bcXk-2 第14页,本讲稿共34页Xk=a1bcXk-1 +a2b(1-a1)bcXk-2实际上,就是实际上,就是Xk=pXk-1+qXk-2 我们需要我们需要知道知道x0,a1,a2,c,考察考察b不同时,种子繁殖不同时,种子繁殖的情况。在这里假设的情况。在
10、这里假设X0=100,a1=0.5,a2=0.25,c=10,b=0.180.20这样可以用这样可以用matlab计算了计算了第15页,本讲稿共34页Xk=a1bcXk-1 +a2b(1-a1)bcXk-2Function 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:nX(k)=p*(xk-1)+q*(xk-2);end第16页,本讲稿共34页K=(0:20);Y1=zwfz(100,21,0.18);Y2=zwfz(100,21,0.19);Y3=zwfz(100,2
11、1,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)第17页,本讲稿共34页结果分析:Xk=pXk-1+qXk-2 (1)x1+px0=0 (2)对高阶差分方程可以寻求形如对高阶差分方程可以寻求形如的解。代入的解。代入(1)式得式得称为差分方程的特征方程。差分方程的特征根:称为差分方程的特征方程。差分方程的特征根:方程方程(1)的解可以表为的解可以表为C1,c2 由初始条件由初始条件x0,x1确定。确定。第18页,本讲稿共34页本例中,用待定系数的方法可以求出本例中
12、,用待定系数的方法可以求出b=0.18时时,c1=95.64,c2=4.36 ,这样这样实际上,实际上,植物能一直繁殖下去的条件是植物能一直繁殖下去的条件是b0.191第19页,本讲稿共34页线性常系数差分方程组线性常系数差分方程组汽车租赁公司的运营汽车租赁公司的运营一家汽车租赁公司在一家汽车租赁公司在3个相邻的城市运营,为方便顾客起见公司承诺,在一个个相邻的城市运营,为方便顾客起见公司承诺,在一个城市租赁的汽车可以在任意一个城市归还。根据经验估计和市场调查,城市租赁的汽车可以在任意一个城市归还。根据经验估计和市场调查,一个一个租赁期内在租赁期内在A市租赁的汽车在市租赁的汽车在A,B,C市归还
13、的比例分别市归还的比例分别为为0.6,0.3,0.1;在在B市租赁的汽车归还比例市租赁的汽车归还比例0.2,0.7,0.1;C市租赁的归还比例分别为市租赁的归还比例分别为0.1,0.3,0.6。若公司开业。若公司开业时将时将600辆汽车平均分配到辆汽车平均分配到3个城市,建立运营过程个城市,建立运营过程中汽车数量在中汽车数量在3个城市间转移的模型,并讨论时间充个城市间转移的模型,并讨论时间充分长以后的变化趋势。分长以后的变化趋势。第20页,本讲稿共34页0.60.3A B CA B CA B C假设在假设在每个租每个租赁期开赁期开始能把始能把汽车都汽车都租出去,租出去,并都在并都在租赁期租赁期
14、末归还末归还0.10.70.20.10.60.30.1第21页,本讲稿共34页模型及其求解模型及其求解记第记第k个租赁期末公司在个租赁期末公司在ABC市的汽车数量市的汽车数量分别为分别为x1(k),x2(k),x3(k)(也是第(也是第k+1个租赁个租赁期开始各个城市租出去的汽车数量),很期开始各个城市租出去的汽车数量),很容易写出第容易写出第k+1个租赁期末公司在个租赁期末公司在ABC市的市的汽车数量为汽车数量为(k=0,1,2,3)第22页,本讲稿共34页用矩阵表示用矩阵表示用用matlab编程,计算编程,计算x(k),观察观察n年以后的年以后的3个城市的个城市的汽车数量变化情况汽车数量变
15、化情况第23页,本讲稿共34页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)作,而不是必须编一个函数)作,而不是必须编一个函数第24页,本讲稿共34页A=0.6,0.2,0.1;0.3,0.7,0.3;0.1,0.1,0.6;n=10;for k=1:nx(:,1)=200,200,200;x(:,
16、k+1)=A*x(:,k);end round(x)第25页,本讲稿共34页作图观察数量变化趋势 k=0:10;plot(k,x),gridgtext(x1(k),gtext(x2(k),gtext(x3(k)第26页,本讲稿共34页可以看到时间充分长以后可以看到时间充分长以后3个城市汽车数量个城市汽车数量趋于趋于180,300,120可以考察这个结果与初始条件是否有关可以考察这个结果与初始条件是否有关若最开始若最开始600辆汽车都在辆汽车都在A市,可以看到变市,可以看到变化时间充分长以后,各城市汽车数量趋于化时间充分长以后,各城市汽车数量趋于稳定,与初始值无关稳定,与初始值无关第27页,本讲
17、稿共34页直接输入x(:,1)的值即可x(:,1)=600,0,0;round(x);plot(k,x),grid第28页,本讲稿共34页按年龄分组的种群增长野生或饲养的动物因繁殖而增加,因自然死亡野生或饲养的动物因繁殖而增加,因自然死亡和人为屠杀而减少,不同年龄动物的繁殖率,和人为屠杀而减少,不同年龄动物的繁殖率,死亡率有较大差别,因此在研究某一种群数量死亡率有较大差别,因此在研究某一种群数量的变化时,需要考虑年龄分组的种群增长。的变化时,需要考虑年龄分组的种群增长。将种群按年龄等间隔的分成若干个年龄组,时将种群按年龄等间隔的分成若干个年龄组,时间也离散化为时段,给定各年龄组种群的繁殖间也离
18、散化为时段,给定各年龄组种群的繁殖率和死亡率,建立按年龄分组的种群增长模型,率和死亡率,建立按年龄分组的种群增长模型,预测未来各年龄组的种群数量,并讨论时间充预测未来各年龄组的种群数量,并讨论时间充分长以后的变化趋势。分长以后的变化趋势。第29页,本讲稿共34页模型及其求解模型及其求解设种群按年龄等间隔的分成设种群按年龄等间隔的分成n个年龄组,记个年龄组,记i=1,2,,n,时段记作时段记作k=0,1,2,且年龄组区间与且年龄组区间与时段长度相等时段长度相等(若若5岁为一个年龄组,则岁为一个年龄组,则5年为一年为一个时段个时段)。以雌性个体为研究对象。以雌性个体为研究对象记在时段记在时段k第第
19、i年龄组的数量为年龄组的数量为xi(k);第第i年龄组的年龄组的繁殖率为繁殖率为bi,表示每个个体在一个时段内繁殖,表示每个个体在一个时段内繁殖的数量;第的数量;第i年龄组死亡率为年龄组死亡率为di,表示一个时段,表示一个时段内死亡数与总数的比,内死亡数与总数的比,si=1-di是存活率。是存活率。第30页,本讲稿共34页注意:第注意:第k时段的第时段的第i年龄组活过来的,是第年龄组活过来的,是第k+1时时段的第段的第i+1年龄组年龄组Xi+1(k+1)=sixi(k)i=1,2,n-1,k=0,1,各年龄组在第各年龄组在第k时段繁殖的数量和是第时段繁殖的数量和是第k+1时段的时段的第第1年龄
20、组年龄组X1(k+1)=k=0,1,记在时段记在时段k种群各年龄组的数量为种群各年龄组的数量为X(k)=x1(k),x2(k),xn(k)第31页,本讲稿共34页这样,有这样,有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只,只,用用
21、matlab计算计算x(k)第32页,本讲稿共34页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:nx(:,k+1)=L*x(:,k);end round(x)k=0:30;subplot(1,2,1),plot(k,x),grid第33页,本讲稿共34页将将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)趋向稳定。趋向稳定。第34页,本讲稿共34页