数学应用软件作业6 用Matlab求解微分方程(组)的解析解和数值解
漳州理工职业学院-酒会礼仪
注:上机作业文件夹以自己的班级姓名学号命名,文件夹包括如下上机报告和Matlab程序。
上机报告模板如下:
佛山科学技术学院
上 机 报
告
课程名称 数学应用软件
上机项目 用Matlab求解微分方程(组)的解析解和数值解
专业班级 姓 名 学 号
一. 上机目的
1. 了解求微分方程(组)的解的知识。
2. 学习Matl
ab中求微分方程的各种解的函数,如dsolve命令、ode45函数等等,其中注意把
方程化为新
的方程的形式。
3. 掌握用matlab编写程序解决求解微分方程的问题。
二. 上机内容
1、求高阶线性齐次方程:y
’’’
-y
’’<
br>-3y
’
+2y=0。
2、求常微分方程组
dy
dx
2x10cost,x
t0
2
dtdt
dx
dy
2y4e
2t
,y0
t0
dtdt
3、求解
分别用函数ode45和ode15s计算求解,分别画出图形,图形分别标注标题。
4、求解微分方程
y'yt1,y(0)1,
先求解析解,在[0,1]上作图;
再用ode45求数值解(作图的图形用“o”表示),在同一副图中作图进行比较,用不
同的颜色表
示。
三. 上机方法与步骤
给出相应的问题分析及求解方法,并写出Matlab程序,并有上机程序显示截图。
题1:直接用命令dsolve
求解出微分方程的通解。
Matlab程序:
dsolve('D3y-D2y-3*Dy+2*y','x')
dx
xt
5
cost2exp(2t)xy
dy
5cost2exp
(2t)xy
,再用命令dsolve求解微分方题2:将微分方程组改写为
dt
x(0)2,y(0)0
程的通解。
Matlab程序:
建立timu2.m如下:
[x,y]=dsol
ve('Dx=5*cos(t)+2*exp(-2*t)-x-y','Dy=-5*cos(t)+2*e
xp(-2*t)+x-y
','x(0)=2,y(0)=0','t')
x=simple(x)
y=simple(y)
题3: 由于所给的微分方程为一阶微分方程,则直接用函数ode45和ode15s求解
微分方程的数
值解,具体程序如下:
(1)Matlab程序:
建立M文件fun2.m,如下:
function
dy=fun2(t,y);
dy=zeros(2,1);
dy(1)
=0.04*(1-y(1))-(1-y(2))*y(1)+0.0001*((1-y(2))^2);<
br>
dy(2)=-10000*y(1)+3000*((1-y(2))^2);
取t0=0,tf=100,建立程序timu32.m如下:
t0=0;tf=100;
[T,Y]=ode45('fun2',[0
100],[1 1]);
plot(T,Y(:,1),'+',T,Y(:,2),'*');
title('ode45图形');
(2)Matlab程序:
建立M文件fun1.m,如下:
function
dy=fun1(t,y);
dy=zeros(2,1);
dy(1)
=0.04*(1-y(1))-(1-y(2))*y(1)+0.0001*((1-y(2))^2);<
br>
dy(2)=-10000*y(1)+3000*((1-y(2))^2);
取t0=0,tf=100,建立程序timu3.m如下:
t0=0;tf=100;
[T,Y]=ode15s('fun1',[0
100],[1 1]);
plot(T,Y(:,1),'+',T,Y(:,2),'*');
title('ode15s图形');
题4:
Matlab程序:
(1)先建立程序timu41.m如下:
y=dsolve('Dy=-y+t+1','y(0)=1','t')
截图如下:
作图:建立程序tuxing41.m如下:
ezplot('t +
1exp(t)',[0,1])
title('t + 1exp(t)')
(2)先建立M文件fun3.m,如下:
function
dy=fun3(t,y)
dy=zeros(1,1);
dy(1)=-y(1)+t+1;
再取t0=0,tf=1,建立程序tuxing42.m如下:
t0=0;tf=1;
[T,Y]=ode45('fun3',[0
1],[1]);
plot(T,Y,'ro');
title('比较图');
t=0:0.1:1;
y=t+(t);
hold on
plot(t,y,'b');
四. 上机结果
题1结果为:
ans =
C4*exp(2*x) + C2*exp(x*(5^(12)2 - 12)) +
C3exp(x*(5^(12)2 + 12))
题2结果为:
x =
4*cos(t) - 2exp(2*t) +
3*sin(t) - (2*sin(t))exp(t)
y =
sin(t) -
2*cos(t) + (2*cos(t))exp(t)
题3结果为:
题4结果为:
解析解为:
y =
t +
1exp(t)
作图如下:
注:上机作业文件夹以自己的班级姓名学号命名,文件夹包括如下上机报告和Matlab程序。
上机报告模板如下:
佛山科学技术学院
上 机 报
告
课程名称 数学应用软件
上机项目 用Matlab求解微分方程(组)的解析解和数值解
专业班级 姓 名 学 号
一. 上机目的
1. 了解求微分方程(组)的解的知识。
2. 学习Matl
ab中求微分方程的各种解的函数,如dsolve命令、ode45函数等等,其中注意把
方程化为新
的方程的形式。
3. 掌握用matlab编写程序解决求解微分方程的问题。
二. 上机内容
1、求高阶线性齐次方程:y
’’’
-y
’’<
br>-3y
’
+2y=0。
2、求常微分方程组
dy
dx
2x10cost,x
t0
2
dtdt
dx
dy
2y4e
2t
,y0
t0
dtdt
3、求解
分别用函数ode45和ode15s计算求解,分别画出图形,图形分别标注标题。
4、求解微分方程
y'yt1,y(0)1,
先求解析解,在[0,1]上作图;
再用ode45求数值解(作图的图形用“o”表示),在同一副图中作图进行比较,用不
同的颜色表
示。
三. 上机方法与步骤
给出相应的问题分析及求解方法,并写出Matlab程序,并有上机程序显示截图。
题1:直接用命令dsolve
求解出微分方程的通解。
Matlab程序:
dsolve('D3y-D2y-3*Dy+2*y','x')
dx
xt
5
cost2exp(2t)xy
dy
5cost2exp
(2t)xy
,再用命令dsolve求解微分方题2:将微分方程组改写为
dt
x(0)2,y(0)0
程的通解。
Matlab程序:
建立timu2.m如下:
[x,y]=dsol
ve('Dx=5*cos(t)+2*exp(-2*t)-x-y','Dy=-5*cos(t)+2*e
xp(-2*t)+x-y
','x(0)=2,y(0)=0','t')
x=simple(x)
y=simple(y)
题3: 由于所给的微分方程为一阶微分方程,则直接用函数ode45和ode15s求解
微分方程的数
值解,具体程序如下:
(1)Matlab程序:
建立M文件fun2.m,如下:
function
dy=fun2(t,y);
dy=zeros(2,1);
dy(1)
=0.04*(1-y(1))-(1-y(2))*y(1)+0.0001*((1-y(2))^2);<
br>
dy(2)=-10000*y(1)+3000*((1-y(2))^2);
取t0=0,tf=100,建立程序timu32.m如下:
t0=0;tf=100;
[T,Y]=ode45('fun2',[0
100],[1 1]);
plot(T,Y(:,1),'+',T,Y(:,2),'*');
title('ode45图形');
(2)Matlab程序:
建立M文件fun1.m,如下:
function
dy=fun1(t,y);
dy=zeros(2,1);
dy(1)
=0.04*(1-y(1))-(1-y(2))*y(1)+0.0001*((1-y(2))^2);<
br>
dy(2)=-10000*y(1)+3000*((1-y(2))^2);
取t0=0,tf=100,建立程序timu3.m如下:
t0=0;tf=100;
[T,Y]=ode15s('fun1',[0
100],[1 1]);
plot(T,Y(:,1),'+',T,Y(:,2),'*');
title('ode15s图形');
题4:
Matlab程序:
(1)先建立程序timu41.m如下:
y=dsolve('Dy=-y+t+1','y(0)=1','t')
截图如下:
作图:建立程序tuxing41.m如下:
ezplot('t +
1exp(t)',[0,1])
title('t + 1exp(t)')
(2)先建立M文件fun3.m,如下:
function
dy=fun3(t,y)
dy=zeros(1,1);
dy(1)=-y(1)+t+1;
再取t0=0,tf=1,建立程序tuxing42.m如下:
t0=0;tf=1;
[T,Y]=ode45('fun3',[0
1],[1]);
plot(T,Y,'ro');
title('比较图');
t=0:0.1:1;
y=t+(t);
hold on
plot(t,y,'b');
四. 上机结果
题1结果为:
ans =
C4*exp(2*x) + C2*exp(x*(5^(12)2 - 12)) +
C3exp(x*(5^(12)2 + 12))
题2结果为:
x =
4*cos(t) - 2exp(2*t) +
3*sin(t) - (2*sin(t))exp(t)
y =
sin(t) -
2*cos(t) + (2*cos(t))exp(t)
题3结果为:
题4结果为:
解析解为:
y =
t +
1exp(t)
作图如下: