实验二微分方程与差分方程模型Matlab求解_第1页
实验二微分方程与差分方程模型Matlab求解_第2页
实验二微分方程与差分方程模型Matlab求解_第3页
实验二微分方程与差分方程模型Matlab求解_第4页
实验二微分方程与差分方程模型Matlab求解_第5页
已阅读5页,还剩11页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、实验二:微分方程与差分方程模型Matlab求解、实验目的1掌握解析、数值解法,并学会用图形观察解的形态与进行解的定性分析;2熟悉MATLA歆件关于微分方程求解的各种命令;3通过范例学习建立微分方程方面的数学模型以及求解全过程;4熟悉离散Logistic模型的求解与混沌的产生过程.二、实验原理1、微分方程模型与MATLAB求解解析解用MATLA命令dsolve( eqn1 , eqn2,、)求常微分方程(组)的 解析解.其中eqni表示第i个微分方程,Dny表示y的n阶导数,默认的自变 量为t(1)微分方程例1求解一阶微分方程dy 1 y2dx求通解输入:dsolve(Dy=1+yA2)输出:a

2、ns =tan(t+C1)(2)求特解输入:dsolve(Dy=1+yA2,y(0)=1,x)指定初值为1,自变量为x输出:ans =tan(x+1/4*pi)2, 21、x y xy (x )y 0 4例2求解二阶微分方程y( /2) 2y( /2)2/原方程两边都除以x2,得y y (1y)y 0 x 4x输入:dsolve(D2y+(1/x)*Dy+(1-1/4/xA2)*y=0,y(pi/2)=2,Dy(pi/2)=-2/pi,x)ans =-(exp(x*i)*(pi/2)A(1/2)*i)/xA(1 +(exp(x*i)*exp(-x*2*i)*(pi/2)A(3/2)*2*i)/

3、(pi*xA(1/2)试试能不用用simplify 函数化简输入:simplify(ans)ans =2A(1/2)*piA(1/2)/xA(1/2)*sin(x)(2)微分方程组例 3 求解df/dx=3f+4g; dg/dx=-4f+3g.(1)通解:f,g=dsolve(Df=3*f+4*g,Dg=-4*f+3*g)f =exp(3*t)*(C1*sin(4*t)+C2*cos(4*t)g =exp(3*t)*(C1*cos(4*t)-C2*sin(4*t)特解:f,g=dsolve(Df=3*f+4*g,Dg=-4*f+3*g,f(0)=0,g(0)=1)f =exp(3*t)*sin

4、(4*t)g =exp(3*t)*cos(4*t)数值解在微分方程(组)难以获得解析解的情况下,可以用Matlab方便地求出数值 解.格式为:t,y = ode23(F,ts,y0,options)注意:? 微分方程的形式:y= F(t, y),t为自变量,y为因变量(可以就是多个,如微 分方程组);? t, y为输出矩阵,分别表示自变量与因变量的取值;?F代表一阶微分方程组的函数名(m文件,必须返回一个列向量,每个元素对应每个方程的右端);? ts的取法有几种,(1)ts=t0, tf表示自变量的取值范围,(2)ts=t0,t1,t2,tf,那么输出在指定时刻t0,t1,t2,tf处给出,(

5、3)ts=t0:k:tf, 那么输出在区间t0,tf的等分点给出;? y0为初值条件;? options用于设定误差限(缺省就是设定相对误差就是10A(-3),绝对误 差就是10A(-6);ode23就是微分方程组数值解的低阶方法,ode45为中阶方法,与ode23类似.例4求解一个经典的范得波(Van Der pol)微分方程:2u (u 1)u u0, u(0) 1, u(0) 0解 形式转化:令y u(t); y u(t).那么以上方程转化一阶微分方程组:yy2;y2(1v;)yy1.编写M文件如下,必须就是M文件表示微分方程组,并保存,一般地,M文件的 名字与函数名相同,保存位置可以为

6、默认的work子目录,也可以保存在自定义文件夹,这时注意要增加搜索路径(PathAdd Folder)function dot1=vdpol(t,y);dot1=y(2); (1-y(1)A2)*y(2)-y(1);在命令窗口写如下命令:t,y=ode23(vdpol,0,20,1,0);y1=y(:,1);y2=y(:,2);plot(t,y1,t,y2,-);title(Van Der Pol Solution );xlabel(Time,Second);ylabel(y(1)andy(2)执行:Van Der Pol Solution3 1ri9ncr:2 .,./ f i f / /

7、,.1 1T./,/ I 1 JBya 0 - 1i :!iy- 1 - iy、i /i J /- 2 -. / KZJI- 302468101214161820Time,Second注:Van der Pol方程描述具有一个非线性振动项的振动子的运动过程.最 初,由于它在非线性电路上的应用而引起广泛兴趣.一般形式为u (u2 1)u u 0.图形解无论就是解析解还就是数值解,都不如图形解直观明了.即使就是在得到了 解析解或数值解的情况下,作出解的图形,仍然就是一件深受欢送的事.这些都可 以用Matlab方便地进行.(1)图示解析解如果微分方程(组)的解析解为:y=f (x),那么可以用Mat

8、lab函数fplot作出其 图形:fplot(fun,lims)其中:fun给出函数表达式;lims=xmin xmax ymin ymax限定坐标轴的大小. 例如fplot(sin(1/x), 001 0 1 -11)(2)图示数值解设想已经得到微分方程(组)的数值解(x,y).可以用Matlab函数plot(x,y) 直接作出图形.其中x与y为向量(或矩阵).2、Volterra模型(食饵捕食者模型)意大利生物学家Ancona曾致力于鱼类种群相互制约关系的研究,她从第一 次世界大战期间,地中海各港口捕获的几种鱼类捕获量百分比的资料中 ,发现鲨鱼 的比例有明显增加(见下表).年代191419

9、15191619171918百分比11、921、422、121、236、4年代19191920192119221923百分比27、316、015、914、819、7战争为什么使鲨鱼数量增加就是什么原因由于战争使捕鱼量下降,食用鱼增加,显然鲨鱼也随之增加.但为何鲨鱼的比例大幅增加呢生物学家 Ancona无法解释这个现象,于就 是求助于著名的意大利数学家 V、Volterra,希望建立一个食饵一捕食者系统的数 学模型,定量地答复这个问题.1、符号说明:x1(t), x2(t)分别就是食饵、捕食者(鲨鱼)在t时刻的数量;r1, r2就是食饵、捕食者的固有增长率;入1就是捕食者掠取食饵的水平,入2就是

10、食饵对捕食者的供养水平;2、根本假设:捕食者的存在使食饵的增长率降低,假设降低的程度与捕食者数量成正比,即dx1dtXi(r11 X2)食饵对捕食者的数量x2起到增长的作用,其程度与食饵数量X1成正比,即dx2dtX2( J2X1)综合以上与,得到如下模型:模型一:不考虑人工捕获的情况1X2)dXiXi(ri dtdX2dTX222X1)dX1dtdx2dtX1(0) 25,X2(0) 2dx(1)=x(1)*(1-0 dx(2)=x(2)*(-0、1*x(2);、5+0、02*x(1);该模型反映了在没有人工捕获的自然环境中食饵与捕食者之间的制约关系没有考虑食饵与捕食者自身的阻滞作用,就是V

11、olterra提出的最简单的模型. 给定一组具体数据,用matlab软件求解.食饵:“=1, 入 1= 0、1,X10= 25;捕食者鲨鱼:r2=0、5,入 2=0、02, x20= 2;X1(1 0.1X2)X2( 0.5 0.02x1)编制程序如下1、建立m-文件shier、m如下:function dx=shier(t,x)dx=zeros(2,1); % 初始化、1:15,25 2);2、在命令窗口执行如下程序t,x=ode45(shier,0:0plot(t,x(:,1),-,t,x(:,2),*),grid10090f 1807060J i50401I13020c*10/ M- -

12、14 | lyjMjjfri.0051015图中,蓝色曲线与绿色曲线分别就是食饵与鲨鱼数量随时间的变化情况,从图中可以瞧出它们的数量都呈现出周期性,而且鲨鱼数量的顶峰期稍滞后于食饵数量的顶峰期.画出相轨迹图:plot(x(:,1),x(:,2)30模型二考虑人工捕获的情况假设人工捕获水平系数为e,相当于食饵的自然增长率由ri降为ri-e,捕食者的死亡率由2增为r 2+e,因此模型一修改为:设战前捕获水平系数e=0、3,战争中降为e=0、1,其它参数与模型(一)的dx1dtdx2dtxiie1X2X2 2e2X1参数相同.观察结果会如何变化?dx1dtx(0.7 0.IX2)dx2dtx2( 0

13、.8 0.02x1)Xi(0)25,X2(0) 2i)当 e=0、3 时:2)当 e=0、i 时:dyidt dy2yi(0.9 0.1y2)dtyi(0)y2( 0.6 0.02yi)25*(0)分别求出两种情况下鲨鱼在鱼类中所占的比例. 即计算Pi (t)X2 (t)xi(t)x2(t)P2(t)y2(t)yi(t) y2 (t)画曲线:plot(t,pi(t),t,p2(t),*)MATLAB编程实现建立两个M文件function dx=shieri(t,x)dx=zeros(2,1); dx(i)=x(i)*(0 dx(2)=x(2)*(-0、7-0、8+0i*x(2);、02*x(i

14、);function dy=shier2(t,y)dy=zeros(2,i);dy(i)=y(i)*(0 dy(2)=y(2)*(-0 运行以下程序:、9-0、6+0i*y(2);、02*y(i);ti,x=ode45(shieri,0 i5,25 2);t2,y=ode45(shier2,0 i5,25 2);xi=x(:,i);x2=x(:,2);pi=x2、/(xi+x2);yi=y(:,i);y2=y(:,2);p2=y2、/(yi+y2);plot(ti,pi,-,t2,p2,*)图中*曲线为战争中鲨鱼所占比例 结论:战争中鲨鱼的比例比战前高3、 Logistic 映射logisti

15、c映射-通向混沌的道路混沌系统,由于其行为的复杂性,往往认为其动态特性(运动方程)也一定非常复杂,事实 并非如此,一个参量很少、动态特性非常简单的系统有时也能够产生混沌现象,以一维虫口模型为例,假设某一区域内的现有虫口数为yn,昆虫的繁殖率为r,且第n代昆虫不能存活于第n+1代,既无世代交叠,那么第n+1代虫口数为yn 1 ryn ,r 1时,虫口会无限制地增长;r 1 时,虫口最终会趋于消亡,因此需要对模型进行修正.由于环境的制约与食物有限,因争夺生1 2存空间发生相互咬斗事件的最大次数为一yn(yn1),即制约虫口数的因素与 yn成正比,设2咬斗事件的战死率为3那么对虫口的修正项为y2 ,

16、那么有:2yn 1 ryn yn、令Xn - Yn,那么rxn 1rx n(1 xn )(1)取最大虫口数为1,且虫口数不能为负,那么/巨10口 ;当/ =0、5时,方程有极大值,xn 11而 /十1又必须小于1,因而r3、5699时,系统进入了混 沌状态,如下列图所示,此时系统的状态不再具有规律性,而就是发生随机的波动,使图d的右侧的大局部区域被涂黑了,仔细观察发现,混沌区域并非一片涂斑,而就是有粗粗细细的白色“竖线,称为周期窗口 ,随着参量r的增大(如r 1 J8)时,混沌忽然消失,系统出现周 期三的稳定状态,Logistic 映射分岔图接着倍周期分岔以更快的速度进行,再次进入混沌状态.如

17、果将周期窗口放大,发现其结 构与分岔图的整体结构具有相似性,而且就是一种无限嵌套的自相似结构.可以瞧出,通过改变系统参量,使系统进入混沌的第一种模式就是倍周期分岔,即由不动点一周期二一周期四一无限倍周期一进入混沌状态.当然通向混沌的道路不只于此,第二种通向的道路就是:从平衡态到周期运动,再到拟周期运动,直到进入混沌状态.第三种通向 混沌的方式就是阵发或间歇道路,即系统在近似周期运动的过程中,通过改变参量,系统会出现阵发性混沌过程,随着参量的调整,阵发性混沌越来越频繁,近似的周期运动越来越少, 最后进入混沌.Matlab程序下面程序绘制r=2,X0=0、3的轨道clear all ;clf;x=

18、0、3;r=2;n=input( Please input a number:);for i=1:nx1=r*x*(1-x);x=x1;plot(i,x1,、);hold on;end下面程序绘制logistic映射r=3,5的轨道,观察就是否有周期点clear all ;clf;x=0、3;r=3 、5;for i=1:100x1=r*x*(1-x);x=x1;plot(i,x1,、);hold on;end下面程序绘制logistic映射r=4的轨道,观察其 混沌clear all ;clf;x=0 、 007;for i=1:100x1=4*x*(1-x);x=x1;plot(i,x1,

19、、);hold on;end下面程序绘制在混沌状态下不同初值刈=0、100001与x0=0、1的轨道的差(对初值的敏感0.510.50.490.480.470.460.450.440.431000.90.80.70.60.50.4800.90.80.70.60.50.40.41040-0.2-0.4-0.6-0.80.42 160 7 -70, -80- 90 , , 100 .0.2 (010020030040050060070080090010000.2性)clear all ;clf;x1=0、100001;x11=0、1;for i=1:1000x2=4*x1*(1-x1);x1=x2;x22=4*x11*(1-x11);x11=x22;plot(i,x11-x1);hold on;end下面程序绘制logistic映射的分岔图clear all ;clf;x=0、2;for r=1:0、001:4for i=1:18x1=r*x*(1-x);x=x1;if i9plot(r,x);hold on;endendend10.90.80.70.60.50.40.30.20.101.52.53.5蛛网迭代clear all ;clf;x=0、

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论