微分差分方程习题Word文档下载推荐.docx
《微分差分方程习题Word文档下载推荐.docx》由会员分享,可在线阅读,更多相关《微分差分方程习题Word文档下载推荐.docx(16页珍藏版)》请在冰豆网上搜索。
l2=subs(f,{'
},{x+h/2,y+l1*h/2});
l3=subs(f,{'
},{x+h/2,y+l2*h/2});
l4=subs(f,{'
},{x+h,y+l3*h});
y=y+h*(l1+2*l2+2*l3+l4)/6;
x=x+h;
szj=[szj;
x,y];
end
plot(szj(:
1),szj(:
2),'
dg-'
(2)代码
fun=inline('
[x,y]=ode45(fun,[0,3],1)
两个图放在一起比较如下:
结论:
通过对这个微分方程的两种不同方法的求解,从图形中可以看出,两种方法所得到的数值解大致重合,因此可以得出对于这个微分方程,用这两种方法的效果大致一样。
二、设初始时容器里盛放着含净盐10千克的盐水100升,现对其以每分钟3升的速率注入清水,容器内装有搅拌器能将溶液迅时搅拌均匀,并同时以每分钟2升的速率放出盐水,求1小时后容器里的盐水中还含有多少净盐?
解:
分析和建模
设t时刻(单位为分钟)容器中每升盐水中所含净盐的百分比为x(t),考虑时间区间
,并利用质量守恒定律;
内容器中净盐量的变化等于注入清水所含的净盐量减去放出盐水中的净盐量。
用数学公式表示出来就是:
于是,令
,得:
得到解为:
这就是t时刻容器中净盐的百分比。
因为V=100升,K=2升/分钟,当t=0时,
=,因此c=100000
得到:
一小时(t=60)后容器中的盐水中含有的净盐为:
(100+60)*x(60)=10^5*(100+60)^(-2)=千克
所以1小时后容器里的盐水中还含有3.90625千克净盐。
三.早期肿瘤的体积增长满足Malthus模型(
,其中λ为常数),
(1)求肿瘤的增倍时间σ。
根据统计资料,一般有σ∈(7,465)(单位为天),肺部恶性肿瘤的增倍时间大多大于70天而小于465天(发展太快与太慢一般都不是恶性肿瘤),故σ是确定肿瘤性质的重要参数之一
(2)为方便起见,医生通常用肿瘤直径来表示肿瘤的大小,试推出医生用来预测病人肿瘤直径增大速度的公式
.(3)正常人身上也有癌细胞,一个癌细胞直径约为10μm,重约μg.,当患者被查出患有癌症时,通常直径已有1cm以上(即已增大1000倍),由此容易算出癌细胞转入活动期已有30σ天,故如何在早期发现癌症是攻克癌症的关键之一。
手术治疗常不能割去所有癌细胞,故有时需进行放射疗法。
射线强度太小无法杀死癌细胞,太强病人身体又吃不消且会使病人免疫功能下降。
一次照射不可能杀死全部癌细胞,请设计一个可行的治疗方案(医生认为当体内癌细胞数小于105个时即可凭借体内免疫系统杀灭。
(1)
V=
*c(其中c为常数)
当t=0时V=V0
*V0
当V=2V0时
σ=ln2/λ
(2)V=1/6*π*D3
因为当t=0时D=D0
(3)假设,不考虑每次放射性射线杀死的免疫细胞从而影响人体免疫系统功能的前提下,有一位癌症病人的癌细胞的直径为1cm,此癌症病人的体内含有的癌细胞的含量为106个,现在医院要对病人进行治疗,打算用17/2σ天使癌症病人的体内的癌细胞数目从原来的106个减少到体内免疫细胞可杀死的水平,每两次放射性治疗的时间间隔为1/2σ。
决定用9次级放射性治疗来使病人的癌细胞得到控制,为达到此目的每次治疗要用射线治疗的射线强度为杀死癌细胞的x所需的射线量。
根据假设条件,编写matlab程序
clear;
clc;
forx=1:
900000
k=1000000-x;
fori=1:
9
k=sqrt
(2)*k-x;
end
ifk<
=100000
break
x
x=301006
得出结论,病人每隔1/2σ天进行一次放射性治疗,每一次进行放射性治疗所用的射线量时杀死301006个癌细胞的射线量
四.已知一种昆虫每两周产卵一次,六周以后死亡(给除了变化过程的基本规律)。
孵化后的幼虫2周后成熟,平均产卵100个,四周龄的成虫平均产卵150个。
假设每个卵发育成2周龄成虫的概率为,(称为成活率),2周龄成虫发育成4周龄成虫的概率为。
(1)假设开始时,0~2,2~4,4~6周龄的昆虫数目相同,计算2周、4周、6周后各种周龄的昆虫数目;
(2)讨论这种昆虫各种周龄的昆虫数目的演变趋势:
各周龄的昆虫比例是否有一个稳定值?
昆虫是无限地增长还是趋于灭亡?
(3)假设使用了除虫剂,已知使用了除虫剂后各周龄的成活率减半,问这种除虫剂是否有效?
由题目的意思,分别设2周龄虫,4周龄虫,6周龄虫的数目为一个单位
所以2周龄虫,4周龄虫,6周龄虫的初值分别为1,1,1
设两周为一个观察单位,设
表示第k个时间单位2n龄幼虫的数目建立函数模型:
(1)计算计算2周、4周、6周后各种周龄的昆虫数目的matlab程序
x0=[1;
1;
1];
L=[0100150;
00;
00];
x1=L*x0;
x2=L*x1;
x3=L*x2;
[x1'
;
x2'
x3'
]
得出一个单位下个虫分布
虫周龄
2周龄虫
4周龄虫
6周龄虫
两周后
250
四周后
39
六周后
(2)各周龄的昆虫比例是否有一个稳定值
为简化计算,令z在比例中的值为1
用matlab编程求出个周龄在90~100这个时间段的值
以z的值为一个单位,求x,y的和z的比、
用matlab编程拟合此虫的数目比
X=x0;
x
(1)=X
(1);
y
(1)=X
(2);
z=X(3);
fork=2:
1001
X=L*X;
x(k)=X
(1);
y(k)=X
(2);
z(k)=X(3);
fori=100:
200
[x(i)/z(i),y(i)/z(i)]
得出的结果大都分布在
m=
所以三种虫的比值为:
:
1
为恒定的值
用matlab编程拟合此虫的数目演变趋势
11
t=0:
10;
figure
plot(t,x,'
r-'
)
plot(t,y,'
b--'
plot(t,z,'
g:
'
由此程序的到虫演变发展趋势的折线图
产生的结果如以下三幅图
二周龄虫的演变发展趋势
见下图
四周龄虫的演变发展趋势
六周龄虫的演变发展趋势
由以上三幅图,可以观察得出昆虫无限增长。
(3)如果使用了杀虫剂,那么各周龄的昆虫成活率减为原来的一半
表示第k个时间单位2n龄幼虫的数目建立函数模型变为:
根据题意编写matlab程序得出三幅昆虫演变趋势图
得到下面三幅图片
五.购房贷款问题
李四夫妇计划贷款30万元购买一套房子,他们打算用20年的时间还清贷款。
目前,银行的贷款利率是%/月。
他们采用等额本息还款的方式(即每月的还款额相同)偿还贷款。
1.在上述条件下,小王夫妇每月的还款额是多少?
共计需要付多少利息?
2.在贷款10年零7个月后,他们认为他们有经济能力还完余下的款额,打算提前还贷,那么他们在已支付10年零7个月的还款额后的某天,应一次付给银行多少钱,才能将余下全部的贷款还清?
3.如果在第4年初,银行的贷款利率由%/月调到%/月,他们仍然采用等额还款的方式,在余下的17年内将贷款还清,那么在第3年后,每月的还款额应是多少?
4.又如果在第8年初,银行的贷款利率由%/月调到%/月,他们仍然采用等额还款的方式,在余下的13年内将贷款还清,那么在第7年后,每月的还款额应是多少?
5.银行调整利率以后,在贷款10年零7个月时,他们认为他们有经济能力还完余下的款额,打算提前还贷,那么他们在已支付10年零7个月的还款额后的某天,应一次付给银行多少钱,才能将余下全部的贷款还清?
6.李四夫妇发现银行提供了6种不同的还款方式:
①等额本息还款法:
是指在贷款期内每月以相等的金额平均偿还贷款本息的还款方法;
②等额本金递减法:
是指在贷款期内每月等额偿还本金,贷款利息随本金逐月递减的还款方法;
③等额递增还款法:
是指在贷款期的后一时间段内每期还款额相对前一时间段内每期还款额有一个固定增加额,同一时间段内,每期还款额相等的还款方法;
④等额递减还款法:
是指在贷款期的后一时间段内每期还款额相对前一时间段内每期还款额有一个固定减少额,同一时间段内,每期还款额相等的还款方法;
⑤等比递增还款法:
是指在贷款期的后一时间段内每期还款额相对前一时间段内每期还款额呈一固定比例递增,同一时间段内,每期还款额相等的还款方法;
⑥等比递减还款法:
是指在贷款期的后一时间段内每期还款额相对前一时间段内每期还款额呈一固定比例递减,同一时间段内,每期还款额相等的还款方法。
李四夫妇认为,随着他们工作经历的增长,家庭收入也会随着增长,因此,打算采用③等额递增还款法的还款方式来偿还贷款,具体的办法是:
每5年为一个时间段,后一个时间段比前一个时间段每月多还400元。
在此情况下,如果贷款利率还是%/月,那么,第1个时间段的每月还款额是多少?
以后各时间段的每月还款额又是多少?
共计付了多少利息?
在贷款10年零7个月后,他们认为他们有经济能力还完余下的款额,打算提前还贷,那么他们在已支付10年零7个月的还款额后的某天,应一次付给银行多少钱,才能将余下全部的贷款还清?
7.在6提出的等额递增还款法方式下,在第4年初,银行的贷款利率由%/月调到%/月,又如果在第8年初,银行的贷款利率由%/月调到%/月,那么以后各时间段的每月还款额分别是多少?
8.综合上述问题,请你们为李四夫妇(实际上是打算贷款购房的人)写一份短文,帮助他们分析各种方法的利弊
(1)建立模型,每月还款的数额为x,设在t(t=1到240)月欠银行的钱为kt,那么在t+1月,欠银行的钱为kt+1=kt×
,依照题目的意思,x应该是在1000~30000中的一个数值,依照题意,当t=240时kt的值为0,根据分析,编出
Matlab程序:
forx=1000:
30000
k=300000-x;
239
k=*k-x;
=0
得出x=2348
(2)根据上一问得出的结果x=2348,计算当每月还2348元时,过了10年7个月后,还欠银行的钱数即可
x=2348;
126
k
得出结果:
k=
过了10年7个月后,还欠银行的钱数为元,所以在这时,他要还银行的钱数为
(3)在4月初银行的利率做出了调整,只需把还款的20年分成两个时间段,第一个时间段为最初的三年,后一个时间段为后面的204个月,在求出每月需要还的钱数x即可
根据前面的描述,以matlab程序来求x的值
35
204
x=2205
所以当利率在第四年初出作出调整时,每月应还的钱数是2205
(4)在4年初和底8年初银行的利率做出了调整,只需把还款的20年分成三个时间段,第一个时间段为最初的三年,第二个时间段为后面的4~7年,其余为第三部分,在求出每月需要还的钱数x即可
48
156
求出x的值为:
x=2424
(5)在4年初和底8年初银行的利率做出了调整,只需把还款的20年分成三个时间段,第一个时间段为最初的三年,第二个时间段为后面的4~7年,其余为第三部分,根据上一问得出的结果x=2424,计算当每月还2348元时,过了10年7个月后,还欠银行的钱数k即可
x=2424;
k=*k-x;
43
k
得出结果:
k=
(6)1.根据提议用每月递增的方法还钱,以五年为一个周期,设s为所需支付的利息,s=总还钱数-30万,m是以400为公差的项数为4的等差数列
根据题目编写程序
form=0:
x=m;
s=0;
k=300000/;
forn=1:
4
x=x+400;
60
s=s+x;
s=s-300000
fori=0:
3
m=x-i*400
s=305280
x=3122272223221922
2.若在10年7个月还欠款k
x=[1922,2322,2722,3122];
k=*k-x(n);
ifn*60+i==127
k
(7)把20年分为五个阶段,1~3年,3~5年,5~8年,8~10年,10~20年,根据题目的意思编写程序:
下面的m对应的是还款的序列,k对应的是他们在已支付10年零7个月的还款额后的某天,应一次付给银行k元
form=1000:
36
24
2
m=3223282324232023
x=[2023,2423,2823,3223];
(8)在贷款人能力所及的范围内,尽可能早的还钱,那么贷款人所交的利息相对较少,但是依据贷款人的能力而言,贷款人无法在很短的时间把所有的款项还完,所以采用递减薯类还款的好处就是要支付给银行的利息相对较少,但在一开始给贷款人很大的还款压力,而采用递增还款能很好的契合还款人的经济能力,根据其经济能力还款,做到量力而行,缺点就是所需还的利息较多,等额还款利息居中,贷款人还款压力前期较大,后期较轻松,没有很好的契合贷款人的经济状况。