重庆大学数学实验3微分方程.docx
- 文档编号:4652636
- 上传时间:2022-12-07
- 格式:DOCX
- 页数:22
- 大小:227.92KB
重庆大学数学实验3微分方程.docx
《重庆大学数学实验3微分方程.docx》由会员分享,可在线阅读,更多相关《重庆大学数学实验3微分方程.docx(22页珍藏版)》请在冰豆网上搜索。
重庆大学数学实验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应用还不够灵活。 还需继续努力。 教师签名 年月日
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 重庆大学 数学 实验 微分方程