数学应用软件作业6 用Matlab求解微分方程组的解析解和数值解.docx

上传人:b****3 文档编号:3944469 上传时间:2022-11-26 格式:DOCX 页数:13 大小:748.46KB
下载 相关 举报
数学应用软件作业6 用Matlab求解微分方程组的解析解和数值解.docx_第1页
第1页 / 共13页
数学应用软件作业6 用Matlab求解微分方程组的解析解和数值解.docx_第2页
第2页 / 共13页
数学应用软件作业6 用Matlab求解微分方程组的解析解和数值解.docx_第3页
第3页 / 共13页
数学应用软件作业6 用Matlab求解微分方程组的解析解和数值解.docx_第4页
第4页 / 共13页
数学应用软件作业6 用Matlab求解微分方程组的解析解和数值解.docx_第5页
第5页 / 共13页
点击查看更多>>
下载资源
资源描述

数学应用软件作业6 用Matlab求解微分方程组的解析解和数值解.docx

《数学应用软件作业6 用Matlab求解微分方程组的解析解和数值解.docx》由会员分享,可在线阅读,更多相关《数学应用软件作业6 用Matlab求解微分方程组的解析解和数值解.docx(13页珍藏版)》请在冰豆网上搜索。

数学应用软件作业6 用Matlab求解微分方程组的解析解和数值解.docx

数学应用软件作业6用Matlab求解微分方程组的解析解和数值解

注:

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

上机报告模板如下:

佛山科学技术学院

上机报告

课程名称数学应用软件

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

专业班级姓名学号

一.上机目的

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

2.学习Matlab中求微分方程的各种解的函数,如dsolve命令、ode45函数等等,其中注意把方程化为新的方程的形式。

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

二.上机内容

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

y’’’-y’’-3y’+2y=0。

2、求常微分方程组

3、求解

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

 

4、求解微分方程

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

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

 

三.上机方法与步骤

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

题1:

直接用命令dsolve求解出微分方程的通解。

Matlab程序:

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

 

题2:

将微分方程组改写为

,再用命令dsolve求解微分方程的通解。

Matlab程序:

建立如下:

[x,y]=dsolve('Dx=5*cos(t)+2*exp(-2*t)-x-y','Dy=-5*cos(t)+2*exp(-2*t)+x-y','x(0)=2,y(0)=0','t')

x=simple(x)

y=simple(y)

 

题3:

由于所给的微分方程为一阶微分方程,则直接用函数ode45和ode15s求解微分方程的数值解,具体程序如下:

(1)Matlab程序:

建立M文件,如下:

functiondy=fun2(t,y);

dy=zeros(2,1);

dy

(1)=*(1-y

(1))-(1-y

(2))*y

(1)+*((1-y

(2))^2);

dy

(2)=-10000*y

(1)+3000*((1-y

(2))^2);

取t0=0,tf=100,建立程序如下:

t0=0;tf=100;

[T,Y]=ode45('fun2',[0100],[11]);

plot(T,Y(:

1),'+',T,Y(:

2),'*');

title('ode45图形');

 

 

(2)Matlab程序:

建立M文件,如下:

functiondy=fun1(t,y);

dy=zeros(2,1);

dy

(1)=*(1-y

(1))-(1-y

(2))*y

(1)+*((1-y

(2))^2);

dy

(2)=-10000*y

(1)+3000*((1-y

(2))^2);

取t0=0,tf=100,建立程序如下:

t0=0;tf=100;

[T,Y]=ode15s('fun1',[0100],[11]);

plot(T,Y(:

1),'+',T,Y(:

2),'*');

title('ode15s图形');

题4:

Matlab程序:

(1)先建立程序如下:

y=dsolve('Dy=-y+t+1','y(0)=1','t')

截图如下:

作图:

建立程序如下:

ezplot('t+1/exp(t)',[0,1])

title('t+1/exp(t)')

(2)先建立M文件,如下:

functiondy=fun3(t,y)

dy=zeros(1,1);

dy

(1)=-y

(1)+t+1;

再取t0=0,tf=1,建立程序如下:

t0=0;tf=1;

[T,Y]=ode45('fun3',[01],[1]);

plot(T,Y,'ro');

title('比较图');

t=0:

:

1;

y=t+1./exp(t);

holdon

plot(t,y,'b');

四.上机结果

题1结果为:

ans=

C4*exp(2*x)+C2*exp(x*(5^(1/2)/2-1/2))+C3/exp(x*(5^(1/2)/2+1/2))

题2结果为:

x=

4*cos(t)-2/exp(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+1/exp(t)

 

作图如下:

 

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > IT计算机 > 互联网

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1