《重庆大学-数学实验-微分方程.doc》由会员分享,可在线阅读,更多相关《重庆大学-数学实验-微分方程.doc(29页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
1、Four short words sum up what has lifted most successful individuals above the crowd: a little bit more.-author-date重庆大学-数学实验-微分方程重大实设2005 号重 庆 大 学学 生 实 验 报 告实验课程名称 数学实验 开课实验室 DS1402 学 院 年级 专业班 学 生 姓 名 学 号 开 课 时 间 2014 至 2015 学年第 二 学期总 成 绩教师签名数 学 与 统 计 学 院 制开课学院、实验室: 实验时间 : 年 月 日课程名称数学实验实验项目名 称微分方程求解
2、实验项目类型验证演示综合设计其他指导教师龚劬成 绩实验目的1 归纳和学习求解常微分方程(组)的基本原理和方法;2 掌握解析、数值解法,并学会用图形观察解的形态和进行解的定性分析;3 熟悉MATLAB软件关于微分方程求解的各种命令;4 通过范例学习建立微分方程方面的数学模型以及求解全过程; 通过该实验的学习,使学生掌握微分方程(组)求解方法(解析法、欧拉法、梯度法、改进欧拉法等),对常微分方程的数值解法有一个初步了解,同时学会使用MATLAB软件求解微分方程的基本命令,学会建立微分方程方面的数学模型。这对于学生深入理解微分、积分的数学概念,掌握数学的分析思维方法,熟悉处理大量的工程计算问题的方法
3、是十分必要的。基础实验1 微分方程及方程组的解析求解法;2 微分方程及方程组的数值求解法欧拉、欧拉改进算法;3 直接使用MATLAB命令对微分方程(组)进行求解(包括解析解、数值解);4 利用图形对解的特征作定性分析;5 建立微分方程方面的数学模型,并了解建立数学模型的全过程。实验过程1求微分方程的解析解, 并画出它们的图形, (1) y= y + 2x, y(0) = 1, 0x1; (2) y+ycos(x) = 0, y(0)=1, y(0)=0;解:(1) M文件: k=dsolve(Dy=y+2*x,y(0)=1,x)ezplot(k,0,1)运行结果: k = -2*x-2+3*e
4、xp(x) (2)M文件: x=dsolve(D2y+y*cos(x)=0,y(0)=1,Dy(0)=0) ezplot(x)运行结果: x = cos(cos(x)(1/2)*t)2用向前欧拉公式和改进的欧拉公式求方程y= y - 2x/y, y(0) = 1 (0x1,h = 0.1) 的数值解,要求编写程序,并比较两种方法的计算结果,说明了什么问题?解:向前欧拉公式的M文件:x(1)=0;y(1)=1;h=0.1;for i=1:10 x(i+1)=x(i)+h; y(i+1)=y(i)+h*(y(i)-2*x(i)/y(i); double(y(i+1);disp(y(i+1)end运
5、行结果: 1.1000 1.1918 1.2774 1.3582 1.4351 1.5090 1.5803 1.6498 1.7178 1.7848改进欧拉公式的M文件:x(1)=0;y(1)=1;h=0.1;for i=1:10 x(i+1)=x(i)+h; k1=y(i)-2*x(i)/y(i); k2=y(i)+h*k1-2*x(i+1)/(y(i)+h*k1); y(i+1)=y(i)+0.5*h*(k1+k2); double(y(i+1); disp(y(i+1)end运行结果: 1.1000 1.1918 1.2774 1.3582 1.4351 1.5090 1.5803 1.
6、6498 1.7178 1.78481.0959 1.1841 1.2662 1.3434 1.4164 1.4860 1.5525 1.6165 1.6782 1.7379解析求解: k= dsolve(Dy=y-2*x/y,y(0)=1,x)ezplot(k,0,1)运行结果: k = (2*x+1)(1/2) 当x=1时,y=1.7320; 通过比较结果,说明改进型的欧拉方法比向前欧拉方法的结果精确。3Rossler微分方程组: 当固定参数b=2, c=4时,试讨论随参数a由小到大变化(如a(0,0.65)而方程解的变化情况,并且画出空间曲线图形,观察空间曲线是否形成混沌状?首先建立如下
7、M文件: function xdot=fish(t,x)b=2; c=4; global a; xdot=-x(2)-x(3);x(1)+a*x(2);b+x(3)*(x(1)-c);end再建立M文件:x0=0,0,0;global a;for a=0:0.65/3:0.65t,x=ode45(fish,0,200,x0);x1=x(:,1);x2=x(:,2);x3=x(:,3);subplot(1,2,1),plot(t,x1,r-,t,x2,b:,t,x3,m-)title(x(红色),y(蓝色),z(紫色)随t的变化情况);xlabel(t);pause(1)subplot(1,2,
8、2),plot3(x1,x2,x3);grid;title(相图);xlabel(x);ylabel(y);zlabel(z);pause(20)end运行结果(下面4图分别为a=0,0.13,0.26,0.39,0.52的图形) 图4-图84.Apollo卫星的运动轨迹的绘制解: M文件:首先建立r1 函数:function y=r1(x)u=1/82.45;a=x(1);b=x(2);y=(a+u)2+b2)(1/2);再建立r2函数:function y=r2(x)u=1/82.45;u1=1-u;a=x(1);b=x(2);y=(a-u1)2+b2)(1/2);接着建立如下M文件:fu
9、nction xdot=star(t,x)u=1/82.45;u1=1-u;k=x(1);l=x(2);m=x(3);n=x(4);xx=k,m;xdot=l;2*n+k-u1*(k+u)/r1(xx)3-u*(k-u1)/r2(xx)3;n;-2*l+m-u1*m/r1(xx)3-u*m/r2(xx)3;最后调用如下M文件:ts=0,20;x0=1.2,0,0,-1.04935751;t,x=ode45(star,ts,x0);y1=x(:,1);y2=x(:,3);plot(y1,y2)运行结果:应用实验5盐水的混合问题一个圆柱形的容器,内装350升的均匀混合的盐水溶液。如果纯水以每秒14
10、升的速度从容器顶部流入,同时,容器内的混合的盐水以每秒10.5升的速度从容器底部流出。开始时,容器内盐的含量为7千克。求经过时间t后容器内盐的含量。做出如下假设:1.假设在不同浓度的水中的盐扩散速度都相同。2.假设任何时刻容器内的盐水都是均匀的。3.用y(t)表示容器内t时刻的盐的含量,用W(t)表示容器内t时刻的水的总量,用O表示盐水流出的速度,用I代表纯水流入的速度,时间变化后容器内盐的含量为y(t+)。考虑在内流出的盐水的为O则其流出的盐为.通过以上假设可以得如下模型: 化简可得M文件: k= dsolve(Dy=-(y*Y)/(T(t0)+(C-Y)*t),y(0)=7,t)运行结果:
11、 k = 7/(-T(t0)(Y/(-C+Y)*(-C+Y)*t-T(t0)(Y/(-C+Y)由题目可知W(t0)=350,O=10.5,I=14,从而y(t)=7000000/(t + 100)3总结与体会 通过该实验的学习,我掌握了微分方程(组)的求解方法(解析法、欧拉法、梯度法、改进欧拉法等),对常微分方程的数值解法有了一个初步的了解,同时学会了使用MATLAB软件求解微分方程的基本命令,学会了建立微分方程方面的数学模型。加深了我对微分、积分等数学概念的理解,同时使我掌握了数学的分析思维方法,熟悉了处理大量的工程计算问题的方法。设计记录表格,包括碰到的问题汇总及解决情况题号问题解决情况1解微分方程并作图2欧拉公式相关3微分方程组4卫星轨迹绘制盐水的混合问题模型建立,数据处理教师签名年 月 日备注:1、 同一章的实验作为一个实验项目,每个实验做完后提交电子稿到服务器的“全校任选课数学实验作业提交”文件夹,文件名为“学院学号姓名实验几”,如“机械20073159张新实验一”。2、 提交的纸质稿要求双面打印,中途提交批改不需要封面,但最后一次需将该课程所有实验项目内页与封面一起装订成册提交。3、 综合实验要求3人合作完成,请在实验报告上注明合作者的姓名。-