《解微分方程》PPT课件.ppt





《《解微分方程》PPT课件.ppt》由会员分享,可在线阅读,更多相关《《解微分方程》PPT课件.ppt(65页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、MATLABMATLABODEODE初值问题的数值解初值问题的数值解PDEPDE问题的数值解问题的数值解1问题提出问题提出 倒葫芦形状容器壁上的刻度问题倒葫芦形状容器壁上的刻度问题.对于如图所示圆对于如图所示圆柱形状容器壁上的容积刻度柱形状容器壁上的容积刻度,可以利用圆柱体体积公式可以利用圆柱体体积公式其中直径其中直径D D为常数为常数.对于几何形状不是规则的容器对于几何形状不是规则的容器,比如倒葫芦形状容比如倒葫芦形状容器壁上如何标出刻度呢器壁上如何标出刻度呢?下表是经过测量得到部分下表是经过测量得到部分容器高度与直径的关系容器高度与直径的关系.2x1o根据上表的数据根据上表的数据,可以拟合
2、出倒可以拟合出倒葫芦形状容器的图葫芦形状容器的图,建立如图所建立如图所示的坐标轴示的坐标轴,问题为如何根据任问题为如何根据任意高度意高度x x标出容器体积标出容器体积V V的刻度的刻度,由微元思想分析可知由微元思想分析可知H 0 0.2 0.4 0.6 0.8 1.0D 0.04 0.11 0.26 0.56 1.04 1.17其中其中x x表示高度表示高度,直径直径D D是高度是高度x x的函数的函数,记为记为D(x).D(x).x1o3只要求解上述方程只要求解上述方程,就可求出体积就可求出体积V V与高度与高度x x之间的之间的函数关系函数关系,从而可标出容器壁上容积的刻度从而可标出容器壁
3、上容积的刻度,但问题但问题是是函数函数D(x)D(x)无解析表达式无解析表达式,无法求出其解析解无法求出其解析解.因此因此,得到如下微分方程初值问题得到如下微分方程初值问题4包含自变量、未知函数及未知函数的导数或微分的包含自变量、未知函数及未知函数的导数或微分的方程称为方程称为微分方程微分方程。在微分方程中在微分方程中,自变量的个数只有一个自变量的个数只有一个,称为称为常微常微分方程。分方程。自变量的个数为两个或两个以上的微分方程叫自变量的个数为两个或两个以上的微分方程叫偏微偏微分方程。分方程。微分方程中出现的未知函数最高阶导数的阶数称为微分方程中出现的未知函数最高阶导数的阶数称为微分方程的微
4、分方程的阶数阶数。微分方程分类微分方程分类5常微分方程常微分方程:(1)(1),(2)(2)式称为初值问题式称为初值问题.在实际应用中还经常需要求解常微分方程组:在实际应用中还经常需要求解常微分方程组:(3)(3)(3)(3)式称为边值问题。式称为边值问题。式称为边值问题。式称为边值问题。6但能求但能求解析解解析解的常微分方程是有限的,大多数的常的常微分方程是有限的,大多数的常微分方程是给不出解析解的微分方程是给不出解析解的.这个一阶微分方程就不能用初等函数及其积这个一阶微分方程就不能用初等函数及其积分来表达它的解。分来表达它的解。例例 例例 的解的解的值仍需插值方法来计算的值仍需插值方法来计
5、算.78事实上,从事实上,从实际问题实际问题当中抽象出来的微分方程,通当中抽象出来的微分方程,通常主要依靠常主要依靠数值解法数值解法来解决。来解决。可以证明可以证明:如果函数在带形区域如果函数在带形区域 R=axb,R=axb,-y y内连续,且关于内连续,且关于y y满足李普希兹满足李普希兹(Lipschitz)(Lipschitz)条件,即存在常数条件,即存在常数L(L(它与它与x,yx,y无关无关)使使 对对R R内任意两个内任意两个 都成立都成立,则方程的解则方程的解 在在 a,ba,b 上存在且唯一。上存在且唯一。在区间在区间a x ba x b上的数值解法上的数值解法。主要讨论一阶
6、常微分方程初值问题主要讨论一阶常微分方程初值问题 9微分方程数值方法的基本思想微分方程数值方法的基本思想 对常微分方程初值问题的数值解法,就是要算对常微分方程初值问题的数值解法,就是要算出精确解出精确解y(x)y(x)在区间在区间 a,ba,b 上的一系列离散节点上的一系列离散节点 处的函数值处的函数值相邻两个节点的间距相邻两个节点的间距 称为步长,步称为步长,步长可以相等,也可以不等。假定长可以相等,也可以不等。假定h h为定数,称为定步长,为定数,称为定步长,这时节点可表示为这时节点可表示为10数值解法需要把连续性的问题加以离散化,从数值解法需要把连续性的问题加以离散化,从而求出离散节点的
7、数值解。而求出离散节点的数值解。离散化离散化 对常微分方程数值解法的基本出发点就是对常微分方程数值解法的基本出发点就是离散化离散化。其数值解法的基本特点:采用其数值解法的基本特点:采用“步进式步进式”,即求解过程顺着节点排列的次序一步一步地向前推进,即求解过程顺着节点排列的次序一步一步地向前推进,11描述这类算法,要求给出用已知信息描述这类算法,要求给出用已知信息 计算计算 的递推公式。的递推公式。建立这类递推公式的基本方法是在这些节点上用建立这类递推公式的基本方法是在这些节点上用数数值积分、数值微分、泰勒展开值积分、数值微分、泰勒展开等离散化方法,对初等离散化方法,对初值问题值问题中的导数中
8、的导数 进行不同的进行不同的离散化处理离散化处理。12数值解和精确解数值解和精确解用数值方法求解初值问题,不是求出它的解析解或其近似解析式,而是给出它的解在某些离散节点上的近似值。用y(x)表示问题的准确解y(x0),y(x1),y(xN)表示解y(x)在节点x0,x1,xN处的准确值y0,y1,y N表示数值解,即问题的解y(x)在相应节点处的近似值。13单步法和多步法单步法和多步法单步法:在计算yi+1 时只利用y i多步法:在计算yi+1 时不仅利用y i,还要利用 yi1,yi2,k步法:在计算yi+1 时要用到yi,yi1,yik+1显式格式可写成:yk+1=yk+hf(xk,yk;
9、h)隐式格式:yk+1=yk+hf(xk,yk,yk+1;h)它每步求解yk+1需要解一个隐式方程。14欧拉(欧拉(EulerEuler)方法)方法在x=x0 处,用差商代替导数:由由得得15同理,在同理,在x=xx=xn n 处,用差商代替导数:处,用差商代替导数:由由得得若记若记则上式可记为则上式可记为此此即即为为求求解解初初值值问问题题的的EulerEuler方方法法,又又称称显显式式EulerEuler方法。方法。16例例:用用EulerEuler方法求解常微分方程初值问题方法求解常微分方程初值问题并将数值解和该问题的解析解比较。并将数值解和该问题的解析解比较。解:解:EulerEul
10、er方法的具体格式:方法的具体格式:17h=0.2;y(1)=0.2;x=0.2:h:3;h=0.2;y(1)=0.2;x=0.2:h:3;for n=1:14for n=1:14 xn=x(n);yn=y(n);xn=x(n);yn=y(n);y(n+1)=yn+h*(yn/xn-2*yn*yn);y(n+1)=yn+h*(yn/xn-2*yn*yn);endendx0=0.2:h:3;y0=x0./(1+x0.2);x0=0.2:h:3;y0=x0./(1+x0.2);plot(x0,y0,x,y,x,y,o)plot(x0,y0,x,y,x,y,o)程序实现程序实现18xn y(xn)y
11、n yn-y(xn)0.00000.20.19230.20000.00770.40.34480.38400.03920.60.44120.51700.07580.80.48780.58240.09461.00.50000.59240.09241.20.49180.57050.07871.40.47300.53540.0624h h=0.2,=0.2,x xn n=nhnh,(,(n n=0,1,2,15),=0,1,2,15),f f(x x,y y)=)=y y/x x 2 2y y2 2 计算中取计算中取f f(0,0)=1.(0,0)=1.计算结果如下:计算结果如下:19xn y(xn)
12、yn yn-y(xn)1.60.44940.49720.04781.80.42450.46050.03592.00.40000.42680.02682.20.37670.39660.01992.40.35500.36980.01472.60.33510.34590.01082.80.31670.32460.00793.00.30000.30570.0057由由表表中中数数据据可可以以看看到到,微微分分方方程程初初值值问问题题的的数数值值解解和和解解析析解解的的误误差差一一般般在在小小数数点点后后第第二二位位或或第第三三位位小小数数上上,说说明明EulerEuler方法的精度是比较差的。方法的精
13、度是比较差的。20二阶二阶Runge-KuttaRunge-Kutta方法方法其中其中其中其中 c c1 1,c c2 2,2 2,21 21 待定。待定。待定。待定。上式的上式的局部截断误差局部截断误差为:为:21即即c c1 1=1-1-a a,2 2=21 21 =1/(21/(2a a)方程组解不唯一,可令方程组解不唯一,可令c c2 2=a=a 0 0 ,则,则 满足上述条件的公式都为满足上述条件的公式都为2 2阶阶R-KR-K公式公式。22例例 蛇形曲线蛇形曲线的初值问题的初值问题令令f(x,y)=y/x 2yf(x,y)=y/x 2y2 2,取取 f(0,0)=1,f(0,0)=
14、1,h=0.2,xh=0.2,xn n=hn ,(n=1,2,15)=hn ,(n=1,2,15)2 2阶龙格阶龙格-库塔公式计算格式:库塔公式计算格式:k k1 1=y=yn n/x/xn n 2y 2yn n 2 2,k k2 2=(y=(yn n+hk+hk1 1)/(x)/(xn n+h)2+h)2(y(yn n+hk+hk1 1)2 2 y yn+1n+1=y=yn n+0.5h k+0.5h k1 1+k+k2 2 23x0=0;y0=0;h=.2;x=.2:h:3;k1=1;k2=(y0+h*k1)/x(1)-2*(y0+h*k1)2;y(1)=y0+.5*h*(k1+k2);f
15、or n=1:14 k1=y(n)/x(n)-2*y(n)2;k2=(y(n)+h*k1)/x(n+1)-2*(y(n)+h*k1)2;y(n+1)=y(n)+0.5*h*(k1+k2);endy1=x./(1+x.2);plot(x,y,o,x,y1)24常用的一个公式为常用的一个公式为四阶四阶Runge-KuttaRunge-Kutta方法方法25 function ydot=harmonic(t,y)ydot=y(2);-y(1)y=inline(0 1;-1 0*y,t,y);System of Equations26 function ydot=twobody(t,y)r=sqrt(
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 解微分方程 微分方程 PPT 课件

限制150内