差分方程模型习题+答案.docx
《差分方程模型习题+答案.docx》由会员分享,可在线阅读,更多相关《差分方程模型习题+答案.docx(16页珍藏版)》请在冰豆网上搜索。
![差分方程模型习题+答案.docx](https://file1.bdocx.com/fileroot1/2022-11/27/43464b55-dd0b-4f04-b318-2d11d9325125/43464b55-dd0b-4f04-b318-2d11d93251251.gif)
差分方程模型习题+答案
差分方程模型习题+答案(总12页)
1.一老人60岁时将养老金10万元存入基金会,月利率%,他每月取1000元作为生活费,建立差分方程计算他每岁末尚有多少钱多少岁时将基金用完如果想用到80岁,问60岁时应存入多少钱
分析:
(1)假设k个月后尚有
元,每月取款b元,月利率为r,根据题意,可每月取款,根据题意,建立如下的差分方程:
,其中a=1+r
(1)
每岁末尚有多少钱,即用差分方程给出
的值。
(2)多少岁时将基金用完,何时
由
(1)可得:
若
,
(3)若想用到80岁,即n=(80-60)*12=240时,
,
利用MATLAB编程序分析计算该差分方程模型,源程序如下:
clearall
closeall
clc
x0=100000;n=150;b=1000;r=;
k=(0:
n)';
y1=dai(x0,n,r,b);
round([k,y1'])
functionx=dai(x0,n,r,b)
a=1+r;
x=x0;
fork=1:
n
x(k+1)=a*x(k)-b;
end
(2)用MATLAB计算:
A0=250000*^240-1)/^240
思考与深入:
(2)结论:
128个月即70岁8个月时将基金用完
(3)A0=+005
结论:
若想用到80岁,60岁时应存入万元。
2.某人从银行贷款购房,若他今年初贷款10万元,月利率%,他每月还1000元。
建立差分方程计算他每年末欠银行多少钱,多少时间才能还清如果要10年还清,每月需还多少
分析:
记第k个月末他欠银行的钱为x(k),月利率为r,且a=1+r,b为每月还的钱。
则第k+1个月末欠银行的钱为
x(k+1)=a*x(k)+b,a=1+r,b=-1000,k=0,1,2…
在r=及x0=100000代入,用MATLAB计算得结果。
编写M文件如下:
functionx=exf11(x0,n,r,b)
a=1+r;
x=x0;
fork=1:
n
x(k+1)=a*x(k)+b;
end
MATLAB计算并作图:
k=(1:
140)';
y=exf11(100000,140,,-1000);
所以如果每月还1000元,则需要11年7个月还清。
如果要10年即n=120还清,则模型为:
r*x0*(1+r)^n/[1-(1+r)^nb=-r*x0*(1+r)^n/[1-(1+r)^n]
用MATLAB计算如下:
>>x0=100000;
>>r=;
>>n=120;
>>b=-r*x0*(1+r)^n/[1-(1+r)^n]
b=+003
所以如果要10年还清,则每年返还元。
3.在某种环境下猫头鹰的主要食物是田鼠,设田鼠的年平均增长率为
,猫头鹰的存在引起的田鼠增长率的减少与猫头鹰的数量成正比,比例系数为
;猫头鹰的年平均减少率为
;田鼠的存在引起的猫头鹰减少率的增加与田鼠的数量成正比,比例系数为
。
建立差分方程模型描述田鼠和猫头鹰共处时的数量变化规律,对以下情况作图给出50年的变化过程。
(1)设
开始时有100只田鼠和50只猫头鹰。
(2)
同上,开始时有100只田鼠和200只猫头鹰。
(3)适当改变参数
(初始值同上)
(4)求差分方程的平衡点,它们稳定吗
分析:
记第k代田鼠数量为
,第k代猫头鹰数量为
,则可列出下列方程:
运用matlab计算,程序如下:
functionz=disanti(x0,y0,a1,a2,r1,r2)
x=x0;y=y0;
fork=1:
49
x(k+1)=x(k)+(r1-y(k)*a1)*x(k);
y(k+1)=y(k)+(-r2+x(k)*a2)*y(k);
end
z=[x',y'];
(1)
z=disanti(100,50,,,,
plot(1:
50,z(:
1));
holdon;
plot(1:
50,z(:
2),'r')
(2)
z=disanti(100,200,,,,
plot(1:
50,z(:
1));
holdon;
plot(1:
50,z(:
2),'r')
(3)
当a1,a2分别取,时,得到如下图像:
可见,当a1,a2参数在一定范围内改变时,猫头鹰与田鼠数量在一定范围内震荡,且不灭绝。
(4)
令
;
解方程得到如下结果:
x=150
y=200
经matlab验证如下:
z=disanti(150,200,,,,
plot(1:
50,z(:
1));
holdon;
plot(1:
50,z(:
2),'r')
由此可知:
平衡点为:
x=150y=200
4.研究将鹿群放入草场后草和鹿两种群的相互作用。
草的生长遵从Logistic规律,年固有增长率,最大密度为3000(密度单位),在草最茂盛时每只鹿每年可吃掉(密度单位)的草。
若没有草,鹿群的年死亡率高达,而草的存在可使鹿的死亡得以补偿,在草最茂盛时补偿率为。
作一些简化假设,用差分方程模型描述草和鹿两种群数量的变化过程,就以下情况进行讨论:
(1)比较将100只鹿放入密度为1000和密度为3000的草场两种情况。
(2)适当改变参数,观察变化趋势。
模型假设:
1.草独立生存,独立生存规律遵从Logistic规律;
2.草场上除了鹿以外,没有其他以草为食的生物;
3.鹿无法独立生存。
没有草的情况下,鹿的年死亡率一定;
4.假定草对鹿的补偿率是草场密度的线性函数;
5.每只鹿每年的食草能力是草场密度的线性函数。
记草的固有增长率为r,草的最大密度为N,鹿独立生存时的年死亡率为d,草最茂盛时鹿的食草能力为a,草对鹿的年补偿作用为b;第k+1年草的密度为
,鹿的数量为
,第k年草的密度为
,鹿的数量为
。
草独立生存时,按照Logistic规律增长,则此时草的增长差分模型为
,但是由于鹿对草的捕食作用,草的数量会减少,则满足如下方程:
(1)
鹿离开草无法独立生存,因此鹿独立生存时的模型为
,但是草的存在会使得鹿的死亡率得到补偿,则满足如下差分方程:
(2)
另外,记初始状态鹿的数量为
,草场密度初值为
,各个参数值为:
,
,
,
,
利用MATLAB编程序分析计算该差分方程模型,源程序如下:
%定义函数diwuti,实现diwuti-Logistic综合模型的计算,计算结果返回种群量
functionB=disiti(x0,y0,r,N,b,a,d,n)%描述diwuti-Logistic综合模型的函数
x
(1)=x0; %草场密度赋初值
y
(1)=y0; %鹿群数量赋初值
fork=1:
n;
x(k+1)=x(k)+r*(1-x(k)/N)*x(k)-a*x(k)*y(k)/N;
y(k+1)=y(k)+(-d+b*x(k)/N)*y(k);
end
B=[x;y];
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
clearall
C1=disiti(1000,100,,3000,,,,50);
C2=disiti(3000,100,,3000,,,,50);
k=0:
50;
plot(k,C1(1,:
),'b',k,C1(2,:
),'b',k,C2(1,:
),'r',k,C2(2,:
),'r')
axis([05003000]);
xlabel('时间/年')
ylabel('种群量/草场:
单位密度,鹿:
头')
title('图1.草和鹿两种群数量变化对比曲线')
gtext('x0=1000')
gtext('x0=3000')
gtext('草场密度')
gtext('鹿群数量')
比较将100只鹿放入密度为1000和密度为3000的草场两种情况(绘制曲如图1所示):
由图中可以看到,蓝色曲线代表草场密度的初始值为1000时,两种群变化情况;而红色曲线则代表草场密度的初始值为3000时,两种群的变化情况。
观察两种情况下曲线的演变情况,可以发现大约40-50年左右时间后,两种群的数量将达到稳定。
使用MatLab计算可以得到,当
,即两种群数量的平衡点为(1800,600)。
为进一步验证此结论,下面通过改变相关参数,研究两种群变化情况,找到影响平衡点的因素:
(1)改变草场密度初始值;
从图2中可以看到,改变草场的初始密度不会对两种群数量的平衡点造成影响。
(2)改变鹿的数量初值
由图2可以看到,鹿初始的数量的改变在理论上也不会改变最终种群数量的平衡值。
但是,我们可以看到,y0=2000的那条曲线(紫色曲线),在5-15区间内降低到了非常小的值,这显然是不符合鹿的现实繁殖规律的,因为鹿的种群可持续繁殖的最小数量是存在域值的。
当种群数量低于这个值时,在实际情况下,鹿的种群就要灭绝。
同样道理,草场的密度也存在一个最小量的域值,低于这个阈值,草也将灭绝。
综合上面分析,可以在此得出一个结论:
最大密度一定的草场所能承载的鹿的数量存在上限。
(3)改变草场的最大密度N,画图比较结果;
如图4所示,如果草场密度的最大值N发生变化,则最终两种群数量的平衡点也会发生相应的变化。
结论:
N值越大,平衡点两种群的数量就越大;N越小,平衡点两种群的数量就越小。
(4)改变鹿群独立生存时的死亡率
实验中,改变了鹿单独生存的死亡率得到如图和两幅图,可以得出结论:
鹿单独生存的死亡率越大,则两种群数量达到平衡点的时间越短;相反,鹿单独生存的死亡率越小,则两种群数量达到平衡点的时间越长(甚至有可能会出现分叉、混沌)。
(5)草场密度对鹿数量的补偿作用变化(b变化)
从图中可以看到,如果b增大,则达到稳定点的时间会加长,但如果b减小则会有一个域值,当b低于域值时,草-鹿种群数量的平衡时将不收敛于同一个平衡点,出现多值性。
5.Leslie种群年龄结构的差分方程模型
已知一种昆虫每两周产卵一次,六周以后死亡(给出了变化过程的基本规律)。
孵化后的幼虫2周后成熟,平均产卵100个,四周龄的成虫平均产卵150个。
假设每个卵发育成2周龄成虫的概率为,(称为成活率),2周龄成虫发育成4周龄成虫的概率为。
假设开始时,0~2,2~4,4~6周龄的昆虫数目相同,计算2周、4周、6周后各种周龄的昆虫数目;讨论这种昆虫各种周龄的昆虫数目的演变趋势:
各周龄的昆虫比例是否有一个稳定值昆虫是无限地增长还是趋于灭亡假设使用了除虫剂,已知使用了除虫剂后各周龄的成活率减半,问这种除虫剂是否有效
分析:
将两周分成一个时段,设k时段2周后幼虫数量为:
x1(k),2到4周虫的数量为:
x2(K),4到6周虫数量为:
x3(K)。
据题意可列出下列差分方程:
x1(k+1)=x2(k)*100+x3(k)*150
x2(k+1)=x1(k)*
x3(k+1)=x2(k)*
运用matlab编写的程序如下:
functionz=diwuti(a,r1,r2,n)
x
(1)=a;y
(1)=a;w
(1)=a;
fork=1:
n
x(k+1)=y(k)*100+w(k)*150;
y(k+1)=x(k)*r1;
w(k+1)=y(k)*r2;
end
z=[x',y',w'];
fork=1:
n+1
m=x(k)+y(k)+w(k)
end
plot(1:
n+1,x);
holdon
plot(1:
n+1,y,'r');
holdon
plot(1:
n+1,w,'k'),
grid
计算前三年的结果为:
z=diwuti(100,,,2)
m
(蓝线为0~2周的虫,红线为2~4周的虫,黑线为4~6周的虫)
其中,m表示三个不同生长周期的虫的总数,可见虫并未灭绝。
当年份足够长时,可观察到各年龄段虫的数量变化:
>>z=diliuti(100,,,20)
m
由此可见,0~2周的虫的数量急剧增多,2~4周的虫的数量也增多,而4~6周的虫的数量相对很少。
三者并无太多比例关系。
最终整个种群数量增多。
当使用杀虫剂时:
z=diwuti(100,,,20)
m
可见虫的数量受到控制,杀虫剂效果很好。