数学实验之2.微分方程_第1页
数学实验之2.微分方程_第2页
数学实验之2.微分方程_第3页
数学实验之2.微分方程_第4页
数学实验之2.微分方程_第5页
已阅读5页,还剩45页未读 继续免费阅读

下载本文档

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

文档简介

数学实验之二,微分方程,MathematicalExperements,MATLAB软件的实现,引例:增长与传播模型,实验内容,微分方程模型与方法,解析解,数值解,主要内容,1)掌握微分方程求解的三种解法:解析法、数值解法以及图形表示解的方法;2)掌握求微分方程数值解的欧拉方法,了解龙格-库塔方法的思想;3)学会使用MATLAB软件求解析解、数值解和图形解;4)通过范例学习怎样建立微分方程模型和分析问题的思想;,实验目的,返回,首先研究某些物种增长的一阶微分方程.,其中x(t)表示一种给定物种在时刻t的总数;r(t,x)表示该物种的净增长率;,引例:群体增长模型,t=0:12;x=2*exp(0.4*t);plot(t,x,r:o),思考:该模型是否符合物种的自然增长规律?,该模型用于预测地球上的人口总数,例如1961年地球上的人口总数为3,060,000,000,又假定人口总数以2%的速度增长(净增长率),故,检验:17001961年期间,实际数字与理论数值吻合!预测:p(2510)=2,000,000(亿);p(2670)=36,000,000(亿);星球的总表面积约18,600,000亿ft2,80%被水覆盖,到2510年,每人占地面积只有9.3ft2,到2670年,每人占地面积只有0.5167ft2。,分析以上模型,并修改模型.,一般地,b0,并且t+时,p(t)N;对任意的t,p(t)N;当p=N/2时,dp/dt达到最大;,结果分析,模型检验,该模型需要进行实证分析,检验是否符合实际情况,检验模型假设是否合理。,例如,考察过去的内燃机火车头、集中化的交通控制、车厢减速器等三种技术从一个企业推广到另一些企业的速率问题,如下图所示。,理论曲线,N=25,t0=1925,实测数据,p0=1,r1=4%,r2=3.1%,r3=1.5%,模型修正,随着通讯能力的提高和大众媒介的普及,广告将对这项新技术的传播起到一定的作用。因此,在上述模型中增加一个因素广告效应的作用。即修改模型如下:,计算结果:,仍然是逻辑曲线,与实际情况应该是更加吻合。,1、上述模型哪些假设需要修改?2、流行性感冒的传播模型;,思考:,定义:含有导数的方程称为微分方程。如上例,f(x,V(x),V(x)=0,微分方程模型,1、微分方程的一般形式:,F(x,y,y,y(n)=0隐式或y(n)=f(x,y,y,y(n-1)显式,n阶,特殊情形:,2、一阶微分方程组的一般形式:,1阶,初始条件:y(x0)=y0,微分方程模型,满足一定的初始条件,称为偏微分方程。,微分方程模型,微分方程求解方法简介,图形解,返回,解析解y=f(x),数值解(xi,yi),欧拉方法,改进欧拉方法,梯形法,龙格-库塔法,MATLAB软件实现,解析解,dsolve(eqn1,eqn2,c1,var),例,输入:y=dsolve(Dy=1+y2)y1=dsolve(Dy=1+y2,y(0)=1,x),输出:y=tan(t-C1)(通解,一簇曲线)y1=tan(x+1/4*pi)(特解,一条曲线),MATLAB软件实现,例常系数的二阶微分方程,y=dsolve(D2y-2*Dy-3*y=0,x)y=dsolve(D2y-2*Dy-3*y=0,y(0)=1,Dy(0)=0,x),输入:,x=dsolve(D2x-(1-x2)*Dx+x=0,x(0)=3,Dx(0)=0),上述两例的计算结果怎样?由此得出什么结论?,例无解析表达式!,x=dsolve(Dx)2+x2=1,x(0)=0),例非线性微分方程,x=sin(t)-sin(t)若欲求解的某个数值解,如何求解?,t=pi/2;eval(x),MATLAB软件实现,输入:x,y=dsolve(Dx=3*x+4*y,Dy=-4*x+3*y)x,y=dsolve(Dx=3*x+4*y,Dy=-4*x+3*y,x(0)=0,y(0)=1),例,输出:(li3.m),MATLAB软件实现,返回,数值解,1、欧拉法2、龙格库塔法,数值求解思想:(变量离散化)引入自变量点列xnyn,在x0x1x2xn上求y(xn)的近似值yn.通常取等步长h,即xn=x0+nh,或xn=xn-1+h,(n=1,2,)。,研究常微分方程的数值解法是十分必要的。,1)向前欧拉公式:(y=f(x,y))y(xn+1)y(xn)+hf(xn,y(xn)(迭代式)yn+1yn+hf(xn,yn)(近似式)特点:f(x,y)取值于区间xn,xn+1的左端点.,1、欧拉方法,在小区间xn,xn+1上用差商代替微商(近似),yn+1yn+hf(xn+1,yn+1)特点:f(x,y)取值于区间xn,xn+1的右端点.非线性方程,称隐式公式。,yn+1=yn+hf(xn,yn),2)向后欧拉公式,方法:迭代(y=f(x,y)),x=;y=;x(1)=x0;y(1)=y0;forn=1:kx(n+1)=x(n)+n*h;y(n+1)=y(n)+h*f(x(n),y(n);(向前)end,x,y,1、欧拉方法,例1,观察向前欧拉、向后欧拉算法计算情况。与精确解进行比较。误差有多大?,解:1)解析解:y=x+e-xy=dsolve(Dy=-y+x+1,y(0)=1,x),1、欧拉方法,2)向前欧拉法:yn+1=yn+h(-yn+xn+1)=(1-h)yn+hxn+h3)向后欧拉法:yn+1=yn+h(-yn+1+xn+1+1)转化yn+1=(yn+hxn+1+h)/(1+h),y=f(x,y)=-y+x+1;,1、欧拉方法,x1(1)=0;y1(1)=1;y2(1)=1;h=0.1;%(died.m)fork=1:10 x1(k+1)=x1(k)+h;y1(k+1)=(1-h)*y1(k)+h*x1(k)+h;y2(k+1)=(y2(k)+h*x1(k+1)+h)/(1+h);endx1,y1,y2,%(y1向前欧拉解,y2向后欧拉解)x=0:0.1:1;y=x+exp(-x)%(解析解)plot(x,y,x1,y1,k:,x1,y2,r-),1、欧拉方法,(1)步长h=0.1的数值解比较表,计算结果,(2)步长h=0.01的数值解比较表,结论:显然迭代步长h的选取对精度有影响。,图形显示,有什么方法可以使精度提高?,返回,对方程y=f(x,y),两边由xi到xi+1积分,并利用梯形公式,有:,2、使用数值积分,即梯形法:,梯形公式,改进欧拉公式,返回,以例1为例,用改进欧拉公式编程计算,再与精确解的比较。,yn+1=yn+(h/2)*(-yn+xn+1)+(-yn+1+xn+1+1)=yn+(h/2)*(-yn+xn+1)-(yn+h*(-yn+xn+1)+xn+1+1=yn+(h/2)*(1-h)*xn+xn+1+2-h+(h-2)*yndied1.m,使用改进欧拉公式的例,步长h=0.1的数值解比较表,使用改进欧拉公式的例,3、使用泰勒公式,以此方法为基础,有龙格-库塔法、线性多步法等方法。,4、数值公式的精度,当一个数值公式的截断误差可表示为O(hk+1)时(k为正整数,h为步长),称它是一个k阶公式。k越大,则数值公式的精度越高。,欧拉法是一阶公式,改进的欧拉法是二阶公式。龙格-库塔法有二阶公式和四阶公式。线性多步法有四阶阿达姆斯外插公式和内插公式。,返回,t,x=solver(f,ts,x0),Matlab软件计算数值解,1)首先建立M-文件(weif.m)functionf=weif(x,y)f=-y+x+1;2)求解:x,y=ode23(weif,0,1,1)3)作图形:plot(x,y,r);4)与精确解进行比较holdonezplot(x+exp(-x),0,1),例1y=-y+x+1,y(0)=1,标准形式:y=f(x,y),范例,1、在解n个未知函数的方程组时,x0和x均为n维向量,m-函数文件中的待解方程组应以x的分量形式写成.,2、使用Matlab软件求数值解时,高阶微分方程必须等价地变换成一阶微分方程组.,注意:,注意1:,1、建立M文件函数functionxdot=fun(t,x,y)xdot=f1(t,x(t),y(t);f2(t,x(t),y(t);2、数值计算(执行以下命令)t,x,y=ode23(fun,t0,tf,x0,y0),注意:执行命令不能写在M函数文件中。,例如:,令,注意2:,functionxdot=fun1(t,x,y)(fun1.m)xdot=f(t,x(t),y(t);x(t);t,x,y=ode23(fun1,t0,tf,x0,y0),M-文件函数如何写呢?,注意:y(t)是原方程的解。x(t)只是中间变量。,如果方程形式为:z=f(t,z,z)?,返回,该方程是否有解析解?,范例,(1)编写M文件(文件名为vdpol.m):functionyp=vdpol(t,y);yp=y(2);(1-y(1)2)*y(2)-y(1);,(2)编写程序如下:(vdj.m)t,y=ode23(vdpol,0,20,3,0);y1=y(:,1);%原方程的解y2=y(:,2);plot(t,y1,t,y2,-)%y1(t),y2(t)曲线图pause,plot(y1,y2),grid,%相轨迹图,即y2(y1)曲线,范例,蓝色曲线y(1);(原方程解)红色曲线y(2);(导函数曲线),计算结果,范例,范例,(y1,y2)曲线,实验内容,1、求微分方程的解析解,并画出它们的图形,1)y(4)=y,y(0)=y(0)=

温馨提示

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

评论

0/150

提交评论