重庆大学数学实验3微分方程.docx

上传人:b****5 文档编号:8106120 上传时间:2023-01-28 格式:DOCX 页数:22 大小:227.92KB
下载 相关 举报
重庆大学数学实验3微分方程.docx_第1页
第1页 / 共22页
重庆大学数学实验3微分方程.docx_第2页
第2页 / 共22页
重庆大学数学实验3微分方程.docx_第3页
第3页 / 共22页
重庆大学数学实验3微分方程.docx_第4页
第4页 / 共22页
重庆大学数学实验3微分方程.docx_第5页
第5页 / 共22页
点击查看更多>>
下载资源
资源描述

重庆大学数学实验3微分方程.docx

《重庆大学数学实验3微分方程.docx》由会员分享,可在线阅读,更多相关《重庆大学数学实验3微分方程.docx(22页珍藏版)》请在冰豆网上搜索。

重庆大学数学实验3微分方程.docx

重庆大学数学实验3微分方程

重庆大学

学生实验报告

 

实验课程名称数学实验

开课实验室DS1422

学院

学生姓名

开课时间

总成绩

教师签名

 

数学与统计学院制

 

开课学院、实验室:

数统学院DS1422实验时间:

课程

名称

数学实验

实验项目

名称

实验项目类型

验证

演示

综合

设计

其他

指导

教师

肖剑

成绩

实验目的

[1]归纳和学习求解常微分方程(组)的基本原理和方法;

[2]掌握解析、数值解法,并学会用图形观察解的形态和进行解的定性分析;

[3]熟悉MATLAB软件关于微分方程求解的各种命令;

[4]通过范例学习建立微分方程方面的数学模型以及求解全过程;

通过该实验的学习,使学生掌握微分方程(组)求解方法(解析法、欧拉法、梯度法、改进欧拉法等),对常微分方程的数值解法有一个初步了解,同时学会使用MATLAB软件求解微分方程的基本命令,学会建立微分方程方面的数学模型。

这对于学生深入理解微分、积分的数学概念,掌握数学的分析思维方法,熟悉处理大量的工程计算问题的方法是十分必要的。

基础实验

一、实验内容

1.微分方程及方程组的解析求解法;

2.微分方程及方程组的数值求解法——欧拉、欧拉改进算法;

3.直接使用MATLAB命令对微分方程(组)进行求解(包括解析解、数值解);

4.利用图形对解的特征作定性分析;

5.建立微分方程方面的数学模型,并了解建立数学模型的全过程。

二、实验过程(一般应包括实验原理或问题分析,算法设计、程序、计算、图表等,实验结果及分析)

1.求微分方程的解析解,并画出它们的图形,

y’=y+2x,y(0)=1,0

y’’+ycos(x)=0,y(0)=1,y’(0)=0;

(1)通解

y=dsolve('Dy=y+2*x','x')

y=

-2*x-2+exp(x)*C1

特解

y1=dsolve('Dy=y+2*x','y(0)=1','x')

y1=

-2*x-2+3*exp(x)

作图(y=3*exp(x)-2*x–2)

x=0:

0.02:

1;

y1=3*exp(x)-2*x-2;

plot(x,y1,'b-')

 

(2)算法设计

通解y=dsolve('D2y+y*cos(x)=0')

y=

C19*exp(t*(-cos(x))^(1/2))+C20/exp(t*(-cos(x))^(1/2))

 

特解

y=dsolve('D2y+y*cos(x)=0','y(0)=1,Dy(0)=0','x')

结果y=

[emptysym]

分析:

此微分方程没有解析解.

该方程数值解的求解过程:

设y1=y,y2=y’则可得y1’=y2,y2’+y1cos(x)=0

首先建立M-文件:

functionf=fun(x,y)

f=[y

(2);-y

(1)*cos(x)];

输入命令:

[x,y]=ode23('fun',[0,1],[1,0])

结果:

x=

0

0.0001

0.0005

0.0025

0.0125

0.0625

0.1541

0.2541

0.3541

0.4541

0.5541

0.6541

0.7541

0.8541

0.9541

1.0000

 

y=

1.00000

1.0000-0.0001

1.0000-0.0005

1.0000-0.0025

0.9999-0.0125

0.9980-0.0624

0.9882-0.1529

0.9680-0.2487

0.9386-0.3397

0.9003-0.4243

0.8540-0.5011

0.8004-0.5693

0.7404-0.6280

0.6751-0.6772

0.6053-0.7168

0.5721-0.7319

作图:

y1=y(:

1);

>>y2=y(:

2);

>>plot(x,y1,'b*',x,y2,'r'),gtext('y1'),gtext('y2')

 

2.用向前欧拉公式和改进的欧拉公式求方程y’=y-2x/y,y(0)=1(0≤x≤1,h=0.1)的数值解,要求编写程序,并比较两种方法的计算结果,说明了什么问题?

程序:

向前欧拉和向后欧拉法:

x1

(1)=0;y1

(1)=1;y2

(1)=1;h=0.1;

fork=1;10

x1(k+1)=x1(k)+h;

y1(k+1)=y1(k)+h*(y1(k)-2*x1(k)/y1(k))

y2(k+1)=y2(k)+h*(y2(k+1)-2*x1(k+1)/y2(k+1));

end

x1,y1,y2

ans=

10

 

y1=

1.0000

1.1000

1.0000

1.0000

0.9999

0.9980

0.9882

0.9680

0.9386

0.9003

0.8540

0.8004

0.7404

0.6751

0.6053

0.5721

 

x1=

00.1000

 

y1=

1.0000

1.1000

1.0000

1.0000

0.9999

0.9980

0.9882

0.9680

0.9386

0.9003

0.8540

0.8004

0.7404

0.6751

0.6053

0.5721

 

y2=

1.0000

251.0000

-0.0005

-0.0025

-0.0125

-0.0624

-0.1529

-0.2487

-0.3397

-0.4243

-0.5011

-0.5693

-0.6280

-0.6772

-0.7168

-0.7319

改进欧拉公式法:

算法设计:

x1

(1)=0;y1

(1)=1;h=0.1;

fork=1:

10

x1(k+1)=x1(k)+h;

y1(k+1)=y1(k)+1/2*h*(y1(k)-2*x1(k)/y1(k)+y1(k+1)-2*x1(k+1)/y1(k+1));

end

x1,y1

结果:

x1=

Columns1through6

00.10000.20000.30000.40000.5000

Columns7through11

0.60000.70000.80000.90001.0000

 

y1=

1.0000

1.0957

1.1828

1.2624

1.3345

1.3989

1.4544

1.4994

1.5313

1.5462

1.5380

0.8004

0.7404

0.6751

0.6053

0.5721

3.Rossler微分方程组;

当固定参数b=2,c=4时,试讨论随参数a由小到大变化(如a∈(0,0.65))而方程解的变化情况,并且画出空间曲线图形,观察空间曲线是否形成混沌状?

建立M-file文件

functionf=fun(t,x)

f=[0,-1,-1;1,0.1,0;x(3),0,-4]*x+[0,0,2]';

输入命令:

x0=[000.1];

[t,x]=ode45('fun',[0,10],x0);

plot(t,x(:

1),'r',t,x(:

2),'b-',t,x(:

3),'--')

pause

plot3(x(:

1),x(:

2),x(:

3)),gridon

当a=0.2时

当a=0.3时

当a=0.4时

当a=0.5

 

当a=0.6时

结论:

空间曲线不会形成混沌状

 

4.Apollo卫星的运动轨迹的绘制

 

则编写M文件函数:

functionf=fun(x,y)

u=1/82.45,u1=1-u,r1=sqrt((y

(1)+u)^2+y(3)^2),r2=sqrt((y

(1)-u1)^2+y(3)^2)

f=[y

(2);

2*y(4)+y

(1)-u1*(y

(1)+u)/(r1)^3-u*(y

(1)-u1)/(r2)^3;

y(4);

-2*y

(2)+y(3)-u1*y(3)/(r1)^3-u*y(3)/(r2)^3]

输入:

[x,y]=ode45('fun',[0,10],[1.2,0,0,-1.04935751])

plot(y(:

1),y(:

3)'),gridon

作图:

 

应用实验(或综合实验)

一、实验内容

5.盐水的混合问题

一个圆柱形的容器,内装350升的均匀混合的盐水溶液。

如果纯水以每秒14升的速度从容器顶部流入,同时,容器内的混合的盐水以每秒10.5升的速度从容器底部流出。

开始时,容器内盐的含量为7千克。

求经过时间t后容器内盐的含量。

二、问题分析

已知:

水的密度为1kg/L,盐溶解度为36g(在假设

(1)中)

由题意可以知道,在流入到流出的过程中,由于混合在水中的盐含量是不同的,所以溶解于水中的盐的量每一时刻都是不同的。

而所求的这个瞬时量即为微分方程的解。

可计算出7kg盐所需要的溶剂为194L水。

因此,由混合液体积即可知开始时刻的7kg盐是完全溶于水中的,并且没有饱和。

所以,整个过程为食盐水被再次稀释的过程,则不会出现有盐析出现象。

三、数学模型的建立与求解(一般应包括模型、求解步骤或思路,程序放在后面的附录中)

假设:

1)温度对盐在水中的溶解度变化影响不大,

2)任意时刻容器内混合的、流出的盐水都均匀

3)水流入及盐水流出的速度均为匀速的。

4)假设注水时间为t、t时刻时容器内含盐量为P(t)、纯水流入容器的速度为v1,混合液流出的速度为v2。

 

计算过程如下:

1)t时刻容器内含盐量可表示为P(t)

2)纯水以v1=14L/s的速度流入容器,混合液以v2=10.5L/s的速度流出容器,则根据溶解度公式:

,可推出7kg食盐是完全溶解在水中的

3)根据假设1)、2),则可列出关于盐在水中的浓度的比例式,即为

(假设其中

足够小)

4)根据上述比例式即可得到相应的方程为:

而使

可得微分方程:

5)求解该微分方程当

时的曲线图像

四、实验结果及分析

编写M文件,并根据得出的结果作图

编写M文件:

y=dsolve('Dy=-10.5*y/(350+3.5*t)','y(0)=7','t')

得y=7000000/(t+100)^3

作图:

ezplot('7000000/(t+100)^3',[0,100])

总结与体会

通过本实验,我学会掌握微分方程(组)求解方法(解析法、欧拉法、梯度法、改进欧拉法等),对常微分方程的数值解法有一个初步了解,同时学会使用MATLAB软件求解微分方程的基本命令,学会建立微分方程方面的数学模型。

但对建立数学模型及matlab应用还不够灵活。

还需继续努力。

教师签名

年月日

 

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

当前位置:首页 > 党团工作 > 其它

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

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