
实验四种群数量的状态转移——微分方程.doc
10页开课学院、实验室:数统学院 实验时间:2015年10月28日课程名称数学实验实验项目 名 称种群数量的状态转移——微分方程实验项目类型验证演示综合设计其他指导教师成绩实验目的[叮归纳和学习求解常微分方程(组)的基本原理和方法;[2] 掌握解析、数值解法,并学会用图形观察解的形态和进行解的定性分析;[3] 熟悉MATLAB软件关于微分方程求解的各种命令;[4] 通过范例学习建立微分方程方面的数学模型以及求解全过程;通过该实验的学习,使学生掌握微分方程(组)求解方法(解析法、欧拉法、梯度法、改进欧拉法等), 对常微分方程的数值解法有一个初步了解,同时学会使用MATLAB软件求解微分方程的基本命令,学会建 立微分方程方面的数学模型这对于学生深入理解微分、积分的数学概念,掌握数学的分析思维方法,熟 悉处理大量的工程计算问题的方法是十分必要的实验内容1. 微分方程及方程组的解析求解法:2. 微分方程及方程组的数值求解法——欧拉、欧拉改进算法;3. 直接使用MATLAB命令対微分方程(组)进行求解(包括解析解、数值解);4. 利用图形对解的特征作定性分析:5. 建立微分方程方面的数学模型,并了解建立数学模型的全过程。
基础实验一、问题重述1. 求微分方程的解析解,并画出它们的图形,y二 y + 2x, y (0) = 1, 0 图像如下:此题中向询欧拉公式更逼近解析解,其实,提高粕度,即n的取值,两种方式都可以无限逼近解析解3.首先编辑函数m文件rossler. m:function eq=rossler (t,x)global a b cb=2;c=4;eq=[0 -1 -1;1 a 0;x (3) 0 -c]*x4- [0;0;b];然后在命令行窗口输入全局变量,并对a赋值,当a二0.1时:global a b ca=0•1;x0=[0;0;0];• oEd600• • • • b.■ • • • ■7・ ・t AP&us当&P・ 2,ft,x,X(:x(:,2)3))PIt (t,积分lx,p 丄 Ot32)XO);2100908070605040302041008060222-233-rnJ8060402020-40-601080-3 5当当a=0. 6[积分区间改为[0, 50]时:由此一•系列图可知此空间图线是混沌的4.编写函数m文件apollo. m:function ep=apollo(t,y)syms yl y2 y3 y4u=l/82.45;ul=l-u;rl=( (y(l)+u)A2 + y(3)A2)A(1/2);r2=( (y(l)-ul)A2+y(3)A2)A(1/2);ep (1) =y (2);ep (2)=2*y (4)+y(1)-ul*(y(1)+u)/rlA3-u*(y(1)-ul)/r2A3;ep(3)=y (4);ep(4)=-2*y(2)+y(3)-ul*y(3)/rlA3-u*y (3)/r2A3; ep=[ep(1);ep{2);ep(3);ep (4)];运行程序代码Untitled[tzy]=ode45(apollo1, [0,20], [1.2 0 0 -1.04935751]); yi=y (:/1);y2=y (:,2);y3=y (:,3);y4=y (:,4);plot (t,yl,t,y3)grid onpauseplot(yl,y3)grid on得到y 1-t, y3-t的图像yl-y3 (Apollo卫星的运动轨迹)的图像:应用实验(或综合实验)一、 问题重述盐水的混合问题一个圆柱形的容器,内装350升的均匀混合的盐水溶液。 如果纯水以每秒14升的速度从容器顶部流 入,同时,容器内的混合的盐水以每秒10. 5升的速度从容器底部流出开始时,容器内盐的含量为7千 克求经过时间t后容器内盐的含量二、 问题分析由题意可以知道,此题小容器内的盐含量以及浓度随着时间在不停变化的,在流入到流出的过程 中,由于混合在水中的盐含量是不同的,所以溶解于水中的盐的量每一时刻都是不同的,流出的量随时间 也是不断变化的可以选取一个无限小的时间微元进行讨论三、 数学模型的建立与求解假设在t时•刻到t+At (At足够小)时刻时,由于时间变化非常微小,町以认为这个At时间内, 容器内溶液浓度没有发生变化浓度c(t)=c(t+At)=m(t)/V(t),则这个过程中盐减少的质量 t)-m(t)=-v2*c(t)* At, V(t)=V0+vl*t-v2*to其中c(t)表示t时刻容器内盐的浓度;m(t)表示t时刻容器内 盐的质量:V⑴表示t时刻容器内水的体积;vl,v2分别表示流入流出水的速度由于Z\t足够小,得微分方程m9(t)=-v2*m(t)/(V(O)+v 1 *t-v2*t)<>带入数据得dm/dt=3ni/(100+t)在MATLAB中建立脚本Untitle.mm=dsolve ( Dm=-3*m/(100 + t) ,m(0)=7\ *f)ezplot(m, [0,150]) grid on四、实验结果及分析运行程序得到解析解m =7000000/(t + 100)8 以及它的图像可以看出t越人时y是接近于0的,但是不等于0,与真实情况相符。
