matlab求解微分方程6,牛津大学出版社数学应用软件作业6 用Matlab求解微分方程(组)的解析解和数值解:经典爱情语录大全...

漳州理工职业学院-酒会礼仪

注:上机作业文件夹以自己的班级姓名学号命名,文件夹包括如下上机报告和Matlab程序。

上机报告模板如下:

佛山科学技术学院

上 机 报

课程名称 数学应用软件

上机项目 用Matlab求解微分方程(组)的解析解和数值解

专业班级 姓 名 学 号

一. 上机目的

1. 了解求微分方程(组)的解的知识。

2. 学习Matl

ab中求微分方程的各种解的函数,如dsolve命令、ode45函数等等,其中注意把

方程化为新

的方程的形式。

3. 掌握用matlab编写程序解决求解微分方程的问题。

二. 上机内容

1、求高阶线性齐次方程:y

’’’

-y

’’<

br>-3y

+2y=0。

2、求常微分方程组

dy

dx

2x10cost,x

t0

2

dtdt

dx

dy

2y4e

2t

,y0

t0

dtdt

3、求解

分别用函数ode45和ode15s计算求解,分别画出图形,图形分别标注标题。

4、求解微分方程

y'yt1,y(0)1,

先求解析解,在[0,1]上作图;

再用ode45求数值解(作图的图形用“o”表示),在同一副图中作图进行比较,用不

同的颜色表

示。

三. 上机方法与步骤

给出相应的问题分析及求解方法,并写出Matlab程序,并有上机程序显示截图。

题1:直接用命令dsolve

求解出微分方程的通解。

Matlab程序:

dsolve('D3y-D2y-3*Dy+2*y','x')

dx

xt

5

cost2exp(2t)xy

dy

5cost2exp

(2t)xy

,再用命令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

2x10cost,x

t0

2

dtdt

dx

dy

2y4e

2t

,y0

t0

dtdt

3、求解

分别用函数ode45和ode15s计算求解,分别画出图形,图形分别标注标题。

4、求解微分方程

y'yt1,y(0)1,

先求解析解,在[0,1]上作图;

再用ode45求数值解(作图的图形用“o”表示),在同一副图中作图进行比较,用不

同的颜色表

示。

三. 上机方法与步骤

给出相应的问题分析及求解方法,并写出Matlab程序,并有上机程序显示截图。

题1:直接用命令dsolve

求解出微分方程的通解。

Matlab程序:

dsolve('D3y-D2y-3*Dy+2*y','x')

dx

xt

5

cost2exp(2t)xy

dy

5cost2exp

(2t)xy

,再用命令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)

作图如下:

端午祭-学习雷锋做美德少年

包头人事考试信息网-护照办理

安徽艺术学院-江西财政厅会计网

重庆三峡大学-珍惜时间的名言警句

核工业地质局-雷锋寄语

质量保证书-学校党建工作总结

英语个人简历-嘉宾邀请函

集线器是什么-只有一个地球读后感

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值