范文无忧网计划总结报告汇报

求用matlab做数学实验报告! 1求微分方程特解

02月09日 编辑 fanwen51.com

对于第一个问题可以直接采用函数求解的方法

y1=dsolve('D2y+4*Dy+29*y=0','Dy(0)=15',' y(0)=0','x')

y1=(3*sin(5*x))/exp(2*x)

y2=dsolve('D2y-2*Dy+5*y=sin(2*x)')

y2=sin(2*x)/5 + C5*cos(2*t)*exp(t) + C6*sin(2*t)*exp(t)

对于第三个问题,那么不能求出通解,所以只能借助于数值求解的方法来求解,数值求解采用ode45函数来求解的方法,具体过程如下:

先编写待求解的微分方程函数,打开编辑器:

%编写要求解的微分方程组函数表达式!

function dy = rigid(t,y)

dy = zeros(3,1); % 定义数组函数!

dy(1) = y(2) * y(3);%第一个微分方程;

dy(2) = -y(1) * y(3);%第二个微分方程;

dy(3) = -0.51 * y(1) * y(2);%第三个微分方程;

并以默认的文件名保存函数文件!

编写命令行,对微分方程求解:

options = odeset('RelTol',1e-4,'AbsTol',[1e-4 1e-4 1e-5]);%定义求解选项包含精度项!

[T,Y] = ode45(rigid,[0 12],[0 1 1],options);%采用ode45求解方程组,并把求解结果保存到数组T,Y中!

plot(T,Y(:,1),'r-',T,Y(:,2),'b-.',T,Y(:,3),'k.')%作图!

grid minor%网格化!

运行上面的代码就得到函数的解:

附上图片!

如果有什么问题可以问我!!

推荐阅读
图文推荐
栏目列表