MATLAB作业5参考答案
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
MATLAB
作业5参考答案
1、 试求出下面线性微分方程的通解。 543225432()()()()()136415217680()[sin(2)cos(3)]3
t d y t d y t d y t d y t dy t y t e t t dt dt dt dt dt π-+++++=++假设上述微分方程满足已知条件(0)1,(1)3,()2,(0)1,(1)2y y y y y π=====,试求出满足该条件的微分方程的解析解。
【求解】先定义t 为符号变量,求出等号右侧的函数,则可以由下面命令求出方程的解析 解,解的规模较大,经常能占数页。
>> syms t
exp(-2*t)*(sin(2*t+sym(pi)/3)+cos(3*t))
ans =
exp(-2*t)*(sin(2*t+1/3*pi)+cos(3*t))
>> y=dsolve(['D5y+13*D4y+64*D3y+152*D2y+176*Dy+80*y=',...
'exp(-2*t)*(sin(2*t+1/3*pi)+cos(3*t))'],'y(0)=1','y(1)=3','y(pi)=2',...
'Dy(0)=1','Dy(1)=2')
略:
事实上,仔细阅读求出的解析解就会发现,其中大部分表达式是关于系数的,所以如果能对 系数进行近似则将大大减小解的复杂度。
>> vpa(y)
ans =
.20576131687242798353909465020576e-2*exp(-2.*t)*cos(3.*t)+
.15538705805619602372728107411086e-1*exp(-2.*t)*sin(2.*t)+
.76830587084294035590921611166287e-2*exp(-2.*t)*cos(2.*t)-
106.24422608844727797303237726774*exp(-2.*t)*t^2+
98.159206062620455331994871615083*exp(-2.*t)*t+
59.405044899367325888329709780356*exp(-2.*t)*t^3-
30.741892776456442808809983330755*exp(-2.*t)+
.20576131687242798353909465020576e-2*exp(-2.*t)*sin(3.*t)+
31.732152104579289125415500223136*exp(-5.*t)
2、 试求解下面微分方程的通解以及满足(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]=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)')
解略。
将已知初始条件代入,则可以得出下面的特解。
>> syms t
[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), vpa(y)
解略。
3、 试求出微分方程2511()(2)()(1)()x y x y x y x x e
x x ---+-=的解析解通解,并求出满足
边界条件(1),()1y y ππ==的解析解。
【求解】微分方程的通解可以由下面的函数直接求出
>> syms x
y=dsolve('D2y-(2-1/x)*Dy+(1-1/x)*y=x^2*exp(-5*x)','x')
y =
exp(x)*C2+exp(x)*log(x)*C1+1/1296*(6*exp(6*x)*Ei(1,6*x)+11+30*x+36*x^2)*exp(-5*x)
若需要求取满足边界条件的特解,需要在求解时代入边界条件,这样就可以由下面的语句得出微分方程的特解。
>> syms x
y=dsolve('D2y-(2-1/x)*Dy+(1-1/x)*y=x^2*exp(-5*x)',...
'y(1)=pi','y(pi)=1','x')
y =
-1/1296*exp(x)*(6*exp(1)*Ei(1,6)+77*exp(-5)-1296*sym(pi))/exp(1)+
1/1296*exp(x)*log(x)*(6*Ei(1,6)*exp(6*sym(pi)+6)+77*exp(6*sym(pi))-
1296*sym(pi)*exp(6*sym(pi)+5)+3*sqrt(-1)*pi*csgn(sym(pi))*exp(6*sym(pi)+6)-
6*Ei(1,6*sym(pi))*exp(6*sym(pi)+6)-3*sqrt(-1)*pi*exp(6*sym(pi)+6)-
3*sqrt(-1)*pi*csgn(6*sqrt(-1)*sym(pi))*exp(6*sym(pi)+6)-30*sym(pi)*exp(6)+
3*sqrt(-1)*pi*csgn(sym(pi))*csgn(6*sqrt(-1)*sym(pi))*exp(6*sym(pi)+6)-
36*sym(pi)^2*exp(6)-11*exp(6)+1296*exp(5*sym(pi)+6))/log(sym(pi))*exp(-6*sym( pi)-6)+
1/1296*(6*exp(6*x)*Ei(1,6*x)+11+30*x+36*x^2)*exp(-5*x)
由于使用了sym(pi) 这样精确的表示,其实还可以用数值解的方法对各个系数进行近似,这样可以得出如下结果。
>> vpa(y,10)
ans =