求用matlab 做数学实验报告! 1求微分方程特解。 d^2y/dx^2+4dy/dx+29y=0 y(0)=0,y'(0)=15

如题所述

<p>对于第一个问题可以直接采用函数求解的方法</p>
<p>y1=dsolve('D2y+4*Dy+29*y=0','Dy(0)=15','
y(0)=0','x')</p>
<p>y1=(3*sin(5*x))/exp(2*x)</p>
<p>y2=dsolve('D2y-2*Dy+5*y=sin(2*x)')</p>
<p>y2=sin(2*x)/5
+
C5*cos(2*t)*exp(t)
+
C6*sin(2*t)*exp(t)</p>
<p>对于第三个问题,那么不能求出通解,所以只能借助于数值求解的方法来求解,数值求解采用ode45函数来求解的方法,具体过程如下:</p>
<p>先编写待求解的微分方程函数,打开编辑器:</p>
<p>%编写要求解的微分方程组函数表达式!</p>
<p>function
dy
=
rigid(t,y)</p>
<p>dy
=
zeros(3,1);
%
定义数组函数!</p>
<p>dy(1)
=
y(2)
*
y(3);%第一个微分方程;</p>
<p>dy(2)
=
-y(1)
*
y(3);%第二个微分方程;</p>
<p>dy(3)
=
-0.51
*
y(1)
*
y(2);%第三个微分方程;</p>
<p>并以默认的文件名保存函数文件!</p>
<p>编写命令行,对微分方程求解:</p>
<p>options
=
odeset('RelTol',1e-4,'AbsTol',[1e-4
1e-4
1e-5]);%定义求解选项包含精度项!</p>
<p>[T,Y]
=
ode45(@rigid,[0
12],[0
1
1],options);%采用ode45求解方程组,并把求解结果保存到数组T,Y中!</p>
<p>plot(T,Y(:,1),'r-',T,Y(:,2),'b-.',T,Y(:,3),'k.')%作图!</p>
<p>grid
minor%网格化!</p>
<p>运行上面的代码就得到函数的解:</p>
<p>附上图片!</p>
<p>如果有什么问题可以问我!!</p>
<p></p>
温馨提示:答案为网友推荐,仅供参考
相似回答