2016春 作业 实验1常微分方程
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
1、 分别用Euler 法与ode45解下列常微分方程并与解析解比较:
(1) ,(0)1, 03y x y y x '=+=<<
function [ t,y ] = euler(f,ts,y0,h)
t=ts(1):h:ts(2); y(1)=y0;
for i=1:length(t)-1
y(i+1)=y(i)+h*f(t(i),y(i)); end t=t'; y=y'; end
f=@(t,y)t+y;
[t1,y1]=euler(f,[0,3],1,0、05); [t2,y2]=ode45(f,[0,3],1); plot(t1,y1,'、-',t2,y2,'ro') hold on
y3=dsolve('Dy=x+y','y(0)=1','x') ezplot(y3,[0,3]) hold off
legend('euler','ode45','解析解');
(2)22()5()3()45,(0)2,(0)1, 02t
x t x t x t e x x t ''''--===<<
f=@(t,x)[2*x(2);5*x(2)+3*x(1)+45*exp(2*t)]; [t1,y1]=ode45(f,[0,2],[2,1]); plot(t1,y1)
2. 求一通过原点的曲线,它在(,)x y 处的切线斜率等于2
2,0 1.57.x y x +<<若x 上限增为1、58,1、60会发生什么?
function dy = odefun_2(x,y) dy=2*x+y^2; dy=dy(:); end
[t1,y]=ode45('odefun_2',[0,1、58],0) plot(t1,y);
[t2,y]=ode45('odefun_2',[0,1、60],0) plot(t2,y);
3、 求解刚性方程组:
11212
1221000.25999.750.5,(0)1,050.
999.751000.250.5,(0)1,y y y y x y y y y '=-++=⎧<<⎨
'=-+=-⎩
function Dy=fun(t,y) Dy=zeros(2,1);
Dy(1)=-1000、25*y(1)+999、75*y(2)+0、5; Dy(2)=999、75*y(1)-1000、25*y(2)+0、5; [t,y]=ode15s('fun',[0,5],[1,-1]);
plot(t,y(:,1),'o',t,y(:,2),'k-','LineWidth',2);
4、(广告效应) 某公司生产一种耐用消费品,市场占有率为5%时开始做广告,一段时间的市场跟踪调查后,该公司发现:单位时间内购买人口百分比的相对增长率与当时还没有买的百分比成正比,且估得此比例系数为0、5。
(1) 建立该问题的数学模型,并将解析解与数值解,并作以比较;
y’=0、5(1-y)
y=desolve('Dy=0、5-0、5*y','y(0)=0、05')
odefun=@(t,y)0、5-0、5*y;
[t1,y1]=ode45(odefun,[0,10],0、05);
t2=0:0、1:10;
y2=1-(19*exp(-t2/2))/20;
plot(t1,y1,'o',t2,y2,'k');
(2)厂家问:要做多少时间广告,可使市场购买率达到80%?
1-(19*exp(-t/2))/20=0、8
5、(肿瘤生长) 肿瘤大小V生长的速率与V的a次方成正比,其中a为形状参数,0≤a≤1;而其比例系数K随时间减小,减小速率又与当时的K值成正比,比例系数为环境参数b。设某肿瘤参数a=1, b=0、1, K的初始值为2,V的初始值为1。问
(1)此肿瘤生长不会超过多大?
k’=-bk,v’=k*v^a,得k’=-0、1k,v’=kv,且k(0)=2,v(0)=1,
[k,v]=dsolve('Dk=-0、1*k','Dv=k*v','k(0)=2','v(0)=1','t');
t=0:0、1:100;
v=exp(20)*exp(-20*exp(-t/10));
plot(t,v);
(2)过多长时间肿瘤大小翻一倍?
exp(20)*exp(-20*exp(-t/10))=2
(3)何时肿瘤生长速率由递增转为递减?
v’与v的关系为v’=2*exp(20-t/10)*exp(-20*exp(-t/10));
t1=0:0、1:100;
v1=2*exp(20-20-t1/10)、*exp(-20*exp(-t1/10)); plot(t1,v1)
6、(生态系统的振荡现象)第一次世界大战中,因为战争很少捕鱼,按理战后应能捕到更多的鱼才就是。可就是大战后,在地中海却捕不到鲨鱼,因而渔民大惑不解。
令x1为鱼饵的数量,x2为鲨鱼的数量,t为时间。常微分方程组为
式中a1, a2, b1, b2都就是正常数。第一式鱼饵x1的增长速度大体上与x1成正比,即按a1x1比率增加, 而被鲨鱼吃掉的部分按b1x1x2的比率减少;第二式中鲨鱼的增长速度由于生存竞争的自然死亡或互相咬食按a2x2的比率减少,但又根据鱼饵的量的变化按b1x1x2的比率增加。对a1=3, b1=2, a2=2、5, b2=1, x1(0)=x2(0)=1求解。画出解曲线图与相轨线图,可以观
察
到鱼饵与鲨鱼数量的周期振荡现象。
代入a1=3, b1=2, a2=2、5, b2=1, x1(0)=x2(0)=1,x1’=3x1-2x1x2, x2’=-2、5x2+x1x2;
function Dx=fun(t,x)
Dx=zeros(2,1);
Dx(1)=x(1)-2*x(1)*x(2);
Dx(2)=-2、5*x(2)+x(1)*x(2);
f=f(:);
[t,x]=ode15s('fun',[0,10],[1,1]);
plot(t,x);