微分方程与计算机模拟课件.ppt
- 【下载声明】
1. 本站全部试题类文档,若标题没写含答案,则无答案;标题注明含答案的文档,主观题也可能无答案。请谨慎下单,一旦售出,不予退换。
2. 本站全部PPT文档均不含视频和音频,PPT中出现的音频或视频标识(或文字)仅表示流程,实际无音频或视频文件。请谨慎下单,一旦售出,不予退换。
3. 本页资料《微分方程与计算机模拟课件.ppt》由用户(三亚风情)主动上传,其收益全归该用户。163文库仅提供信息存储空间,仅对该用户上传内容的表现方式做保护处理,对上传内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知163文库(点击联系客服),我们立即给予删除!
4. 请根据预览情况,自愿下载本文。本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
5. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007及以上版本和PDF阅读器,压缩文件请下载最新的WinRAR软件解压。
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 微分方程 计算机 模拟 课件
- 资源描述:
-
1、微分方程与计算机模拟微分方程与计算机模拟 常微分方程数值求解方法常微分方程数值求解方法追击问题的计算机仿真追击问题的计算机仿真有阻力抛射曲线实验有阻力抛射曲线实验思考题与练习题思考题与练习题2/19例例7.1 .1 以以 1994 年我国人口为年我国人口为12亿为初值,求解马尔亿为初值,求解马尔萨斯模型常微分方程萨斯模型常微分方程 N(t)表示人口数量表示人口数量, ,取人口变化率取人口变化率r = =0.015, ,微分方程微分方程NdtdN015. 0 function z=fun1(t,N)z=0.015*N; ode23(fun1,1994,2020,12)T,N=ode23(fun1
2、,1994,2020,12)199019952000200520102015202012141618命令窗口命令窗口 编辑窗口编辑窗口 12)1994( N3/19例例2. Logistic模型模型 )1(uudtdu 0)0(uu 创建微分方程右端函数创建微分方程右端函数:function z=fun2(t,u)z=u.*(1-u);ode23(fun2,0,6,1.8)ode23(fun2,0,6,0.2)在命令窗口求数值解在命令窗口求数值解4/19x,y=meshgrid(0:.25:6,0:.05:2);k=y.*(1-y);d=sqrt(1+k.2);px=1./d;py=k./d;
3、quiver(x,y,px,py),hold onu=dsolve(Du=u*(1-u),u(0)=.2); v=dsolve(Dv=v*(1-v),v(0)=1.8);ezplot(u,0,6)ezplot(v,0,6)根据微分方程右端函数根据微分方程右端函数 f(x,y)= y(1 y),区域区域D = (x, y) | 0 x 6, 0 y 2内未知函数的导数值,确定解函数曲线的切线对应单内未知函数的导数值,确定解函数曲线的切线对应单位向量,绘制向量场。位向量,绘制向量场。5/19常微分方程组初值问题常微分方程组初值问题一阶常微分方程组初值问题数值求解方法一阶常微分方程组初值问题数值求解
4、方法T,y = ode23( F ,Tspan,y0) 其中其中, F是函数文件是函数文件, 表示表示 微分方程右端函数微分方程右端函数Tspan = t0 Tfinal 求解区域求解区域; y0 初始条件初始条件注注: 函数函数F(t,y) 必须返回列向量必须返回列向量. 数值解数值解 y 的每一行对应于列向量的每一行对应于列向量T中的每一行数据中的每一行数据 000)(),(ytyttytfdtyd6/19捕食者与被捕食者问题捕食者与被捕食者问题 海岛上有狐狸和野兔海岛上有狐狸和野兔, ,当野兔数量增多时,狐狸捕食当野兔数量增多时,狐狸捕食野兔导致狐群数量增长野兔导致狐群数量增长; ;大量
5、兔子被捕食使狐群进入大量兔子被捕食使狐群进入饥饿状态其数量下降饥饿状态其数量下降; ;狐群数量下降导致兔子被捕食狐群数量下降导致兔子被捕食机会减少机会减少, ,兔群数量回升。微分方程模型如下兔群数量回升。微分方程模型如下 xyydtdyxyxdtdx01. 0015. 0计算计算 x(t),y(t) 当当t0,20时的数据。绘图并分时的数据。绘图并分析捕食者和被捕食者的数量变化规律。析捕食者和被捕食者的数量变化规律。x(0)= 100y(0)=20 7/19创建创建MATLAB的函数文件的函数文件function z=fox(t,y)z(1,:)=y(1)-0.015*y(1).*y(2);z
6、(2,:)=-y(2)+0.01*y(1).*y(2);Y0=100,20;t,Y=ode23(fox,0,20,Y0);x=Y(:,1);y=Y(:,2);figure(1),plot(t,x,b,t,y,r)figure(2),plot(x,y) 求微分方程数值解并绘解函数图形求微分方程数值解并绘解函数图形8/19-兔子数量; -狐狸数量兔-狐数量变化相位图9/19“蝴蝶效应蝴蝶效应”来源于洛伦兹一次讲演来源于洛伦兹一次讲演。模型如下模型如下 zyxydtdzzydtdyyzxdtdx )(求微分方程数值解求微分方程数值解, , 并绘出解函数在并绘出解函数在Y-X平面的投影平面的投影曲线曲
7、线 取取 =8/3, =10, =28。x(0)=0,y(0)=0,z(0)=0.01。t0,80,-20-1001020020406010/19记向量记向量 y1,y2,y3 = x,y,z,创建创建MATLAB函数函数文件如下文件如下 function z=flo(t,y)z(1,:)=-8*y(1)/3+y(2).*y(3);z(2,:)=-10*(y(2)-y(3);z(3,:)=-y(1).*y(2)+28*y(2)-y(3);用用MATLAB命令求解并绘出命令求解并绘出Y-X平面的投影图平面的投影图 y0=0;0;0.01;x,y=ode23(flo,0, 80,y0);figur
8、e(1),plot(y(:,2),y(:,1) figure(2),comet3(y(:,1),y(:,2),y(:,3)11/19例例7.7 追击问题模拟追击问题模拟。设系统中有动点设系统中有动点Q和动点和动点P,点,点Q从坐标原点出发以速度从坐标原点出发以速度V=1(米米/ /秒秒)沿沿y轴正向匀速直轴正向匀速直线运动,点线运动,点P从坐标原点右侧从坐标原点右侧100米处与米处与Q点同时出发,点同时出发,以以2V速度紧盯速度紧盯Q点追赶。点追赶。60秒后秒后P能否追上能否追上Q 。时间步长法时间步长法模拟随时间变化的系统状态模拟随时间变化的系统状态计算机模拟图计算机模拟图 时间以步长时间以
展开阅读全文