重庆大学数学实验报告 - 微分方程模型、求解及稳定性分析

更新时间:2024-05-17 19:14:01 阅读量: 综合文库 文档下载

说明:文章内容仅供预览,部分内容可能不全。下载后的文档,内容与下面显示的完全一致。下载之前请确认下面内容是否您想要的,是否完整无缺。

开课学院、实验室: 实验时间 : 年 月 日

课程 数学实验 名称 指导 教师 实验项目 名 称 成 绩 微分方程 验证 实验项目类型 演示 综合 设计 其他 实验目的 [1] 归纳和学习求解常微分方程(组)的基本原理和方法; [2] 掌握解析、数值解法,并学会用图形观察解的形态和进行解的定性分析; [3] 熟悉MATLAB软件关于微分方程求解的各种命令; [4] 通过范例学习建立微分方程方面的数学模型以及求解全过程; 通过该实验的学习,使学生掌握微分方程(组)求解方法(解析法、欧拉法、梯度法、改进欧拉法等),对常微分方程的数值解法有一个初步了解,同时学会使用MATLAB软件求解微分方程的基本命令,学会建立微分方程方面的数学模型。这对于学生深入理解微分、积分的数学概念,掌握数学的分析思维方法,熟悉处理大量的工程计算问题的方法是十分必要的。 基础实验 一、实验内容 1. 微分方程及方程组的解析求解法; 2. 微分方程及方程组的数值求解法——欧拉、欧拉改进算法; 3. 直接使用MATLAB命令对微分方程(组)进行求解(包括解析解、数值解); 4. 利用图形对解的特征作定性分析; 5. 建立微分方程方面的数学模型,并了解建立数学模型的全过程。 二、实验过程(一般应包括实验原理或问题分析,算法设计、程序、计算、图表等, 实验结果及分析) 基础实验 1.求微分方程的解析解, 并画出它们的图形, (1)y’= y + 2x, y(0) = 1, 0

(2) y’’+ycos(x) = 0, y(0)=1, y’(0)=0; 程序: syms x y z z=dsolve('D2y+y*cos*(x)=0','y(0)=1','Dy(0)=0') ezplot('z') 结果: z =cos(cos^(1/2)*x^(1/2)*t) 图像: 3 .Rossler微分方程组 ?x'??y?z??y'?x?ay?z'?b?z(x?c)? 当固定参数b=2, c=4时,试讨论随参数a由小到大变化(如a∈(0,0.65))而方程解的变化情况,并且画出空间曲线图形,观察空间曲线是否形成混沌状? 程序: 建立rossler.m文件: function r=rossler(t,x) global a; global b; global c;

r=[-x(2)-x(3);x(1)+a*x(2);b+x(3)*(x(1)-c)]; 建立exp4-3.m如下: global a; global b; global c; b=2; c=4; t0=[0,200]; for a=0:0.03:0.65 [t,x]=ode45('rossler',t0,[0,0,0]); subplot(1,2,1); plot(t,x(:,1),'r',t,x(:,2),'g',t,x(:,3),'b'); title('x(红色),y(绿色),z(蓝色)随t变化情况');xlabel('t'); subplot(1,2,2); plot3(x(:,1),x(:,2),x(:,3)) title('相图');xlabel('x');ylabel('y');zlabel('z'); end 1.当a=0时,图像: x(红色),y(绿色),z(篮色)随t变化情况0.60.40.80.20.60-0.2-0.4-0.6-0.8-1相图z0.40.2000.5-0.5050100t150200y-1-0.50x 所以当a=0时,(x,y,z)收敛于(0,0.5,0.5) 2.当a=0.12时,图像: x(红色),y(绿色),z(篮色)随t变化情况0.60.40.80.20-0.2-0.4-0.6-0.8-1-1.200-0.5-1050100t150200y-1.5-0.50.50x10.6相图z0.40.2 当a=0.27时,(x,y,z)仍然收敛,但是收敛速度大大降低。 3.当a=0.27时,图像

x(红色),y(绿色),z(篮色)随t变化情况43322.510-1-2-3-4-5y2z相图1.510.505500-5-5x050100t150200 4.当a=0.39时,图像 x(红色),y(绿色),z(篮色)随t变化情况6相图46524z320-2105-405-50-10-5x10-6050100t150200y 相图5.当a=0.52时,图像 x(红色),y(绿色),z(篮色)随t变化情况151015105z500505-5-10050100t150200y-10-50x10-5 从这一系列变化的图像中可以看出,随着 a 的增大,(x,y,z)接近极限环的速度加快。 4.Apollo卫星的运动轨迹的绘制

????x?x?2y ?1(x??)r1r133??(x??1)r2,3, ????y?y??2x?1y??yr23 ??1/82.45,?1?1??, 2222r1?(x??)?y,r2?(x??1)?y x(0)?1.2,x?(0)?0,y(0)?0,y?(0)??1.04935751程序: x0=[1.2;0;0;-1.04935751]; options=odeset('reltol',1e-8); [t,y]=ode45('appollo',[0,20],x0,options); plot(y(:,1),y(:,3)) title('Appollo卫星运动轨迹') xlabel('X') ylabel('Y') 绘图如下: 应用实验 5.盐水的混合问题 一个圆柱形的容器,内装350升的均匀混合的盐水溶液。如果纯水以每秒14升的速度从容器顶部流入,同时,容器内的混合的盐水以每秒10.5升的速度从容器底部流出。开始时,容器内盐的含量为7千克。求经过时间t后容器内盐的含量。 做出如下假设: 1.假设在不同浓度的水中的盐扩散速度都相同。 2.假设任何时刻容器内的盐水都是均匀的。

3.用y(t)表示容器内t时刻的盐的含量,用W(t)表示容器内t时刻的水的总量,用O表示盐水流出的速度,用I代表纯水流入的速度,时间变化?t后容器内盐的含量为y(t+?t)。考虑在?t内流出的盐水的为O?t则其流出的盐为y(t)W(t)O?t. 通过以上假设可以得如下模型: y(t??t)?y(t)?y(t)?dy?y(t)?y(t)W(t)O?t y(t)OdtW(t0)?(I?O)t 化简可得程序: dydt??y(t)OW(to)?(I?O)t syms x y z k;k=dsolve('Dy=-(y*Y)/(T(t0)+(C-Y)*t)','y(0)=7','t') 结果: (7*exp((O*log(W(t0)))/(I - O)))/exp((O*log(W(t0) + t*(I - O)))/(I - O)) 由题目可知W(t0)=350,O=10.5,I=14, 从而y(t)=7000000/(t + 100)^3。 总结与体会 通过本次的实验,使我对数学建模的过程有了一定的掌握,而使用matlab的使用方法和使用数学模型解决问题的思路有了进一步的了解和掌握,对以后数学实验的学习打下基础。Matlab的强大功能和简洁编程使平时一些很难得问题解决起来得心应手。 教师签名 年 月 日

3.用y(t)表示容器内t时刻的盐的含量,用W(t)表示容器内t时刻的水的总量,用O表示盐水流出的速度,用I代表纯水流入的速度,时间变化?t后容器内盐的含量为y(t+?t)。考虑在?t内流出的盐水的为O?t则其流出的盐为y(t)W(t)O?t. 通过以上假设可以得如下模型: y(t??t)?y(t)?y(t)?dy?y(t)?y(t)W(t)O?t y(t)OdtW(t0)?(I?O)t 化简可得程序: dydt??y(t)OW(to)?(I?O)t syms x y z k;k=dsolve('Dy=-(y*Y)/(T(t0)+(C-Y)*t)','y(0)=7','t') 结果: (7*exp((O*log(W(t0)))/(I - O)))/exp((O*log(W(t0) + t*(I - O)))/(I - O)) 由题目可知W(t0)=350,O=10.5,I=14, 从而y(t)=7000000/(t + 100)^3。 总结与体会 通过本次的实验,使我对数学建模的过程有了一定的掌握,而使用matlab的使用方法和使用数学模型解决问题的思路有了进一步的了解和掌握,对以后数学实验的学习打下基础。Matlab的强大功能和简洁编程使平时一些很难得问题解决起来得心应手。 教师签名 年 月 日

本文来源:https://www.bwwdw.com/article/sse7.html

Top