MATLAB作业5 作业本
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
MATLAB
作业5
1、 试求解下面微分方程的通解以及满足(0)1,()2,(0)0x x y π===条件下的解析解。
66()5()4()3()sin(4)2()()4()6()cos(4)
t t x t x t x t y t e t y t y t x t x t e t --⎧+++=⎨+++=⎩ 解:
>> syms t x y;
>>[x,y]=dsolve('D2x+5*Dx+4*x+3*y=exp(-6*t)*sin(4*t)',
'2*Dy+y+4*Dx+6*x=exp(-6*t)*cos(4*t)','x(0)=1','x(pi)=2','y(0)=0');vpa(x,20)
ans =
.24816266536011758942e-1*exp(-6.*t)*cos(4.*t)-.16682998530132288094e-1*exp(-6.*t)*sin(4.*t)+.85861668591377882749e-1*exp(t)-.57658489325155296910e-1*exp(-5.1374586088176874243*t)+.94698055419776565523*exp(-1.3625413911823125757*t)
>>vpa(y,20)
ans =
-.10607545320921117099*exp(-6.*t)*cos(4.*t)+.68348848603625673689e-1*exp(-6.*t)*sin(4.*t)-.28620556197125960916*exp(t)+.90450561852315609427e-1*exp(-5.1374586088176874243*t)+.30183045332815517077*exp(-1.3625413911823125757*t)
2、 Lotka-Volterra 扑食模型方程为()4()2()()()()()3()
x t x t x t y t y t x t y t y t =-⎧⎨=-⎩,且初值为(0)2,(0)3x y ==,
试求解该微分方程,并绘制相应的曲线。
解:
>>syms x y t;
>> f=inline('[4*x(1)-2*x(1)*x(2); x(1)*x(2)-3*x(2)]','t','x');
>> [t,x]=ode45(f,[0,10],[2;3]);plot(t,x)
3、 是给出求解下面微分方程的MA TLAB 命令,
(3)22,(0)2,(0)(0)0ty y tyy t yy e y y y -++====
并绘制出()y t 曲线。试问该方程存在解析解吗?选择四阶定步长Runge-Kutta 算法求解该方程时,步长选择多少可以得出较好的精度,MATLAB 语言给出的现成函数在速度、精度上进行比较。
解:
>> f=inline('[x(2); x(3); -t^2*x(1)*x(2)-t^2*x(2)*x(1)^2+exp(-t*x(1))]','t','x');
[t,x]=ode45(f,[0,10],[2;0;0]); >> plot(t,x)
4、 试用解析解和数值解的方法求解下面的微分方程组
5()2()3(),(0)1,(0)2()2()3()4()4()sin ,(0)3,(0)4t x t x t x t e x x y t x t y t x t y t t y y -⎧=--+==⎨=----==⎩
解:
解析解:
>> syms t x y;
[x,y]=dsolve('D2x=-2*x-3*Dx+exp(-5*t)','D2y=2*x-3*y-4*Dx-4*Dy-sin(t)','x(0)=1','Dx(0)=2','y(0)=3','Dy(0)=4')
x =
1/12*exp(-5*t)-10/3*exp(-2*t)+17/4*exp(-t)
y =
-265/16*exp(-t)-71/5*exp(-3*t)+11/48*exp(-5*t)+100/3*exp(-2*t)+51/4*exp(-t)*t+1/5*cos(t)-1/10*sin(t)
数值解:
>> f=inline('[x(2); -2*x(1)-3*x(2)+exp(-5*t); x(4); 2*x(1)-3*x(3)-4*x(2)-4*x(4)-sin(t)]','t','x');
[t1,x1]=ode45(f,[0,10],[1;2;3;4]);
ezplot(x,[0,10]), line(t1,x1(:,1)) figure; ezplot(y,[0,10]), line(t1,x1(:,3))
5、 下面的方程在传统微分方程教程中经常被认为是刚性微分方程。使用常规微分方程解法和刚性微分方程解法分别求解这个微分方程的数值解,并求出解析解,用状态变量曲线比较数值求解的精度。 11212122119245cos sin ,(0)331224519cos sin ,(0)33
y y y t t y y y y t t y ⎧=++-=⎪⎪⎨⎪=---+=⎪⎩ 解:
>> syms t y1 y2;
>>
[y1,y2]=dsolve('Dy1=9*y1+24*y2+5*cos(t)-1/3*sin(t)','Dy2=-24*y1-51*y2-9*cos(t)+1/3*sin(t)','y1(0)=1/3','y2(0)=2/3')
y1 =2/(3*exp(3*t)) - 2/(3*exp(39*t)) + cos(t)/3
y2 =4/(3*exp(39*t)) - 1/(3*exp(3*t)) - cos(t)/3