数值分析第八章New课件.ppt
- 【下载声明】
1. 本站全部试题类文档,若标题没写含答案,则无答案;标题注明含答案的文档,主观题也可能无答案。请谨慎下单,一旦售出,不予退换。
2. 本站全部PPT文档均不含视频和音频,PPT中出现的音频或视频标识(或文字)仅表示流程,实际无音频或视频文件。请谨慎下单,一旦售出,不予退换。
3. 本页资料《数值分析第八章New课件.ppt》由用户(晟晟文业)主动上传,其收益全归该用户。163文库仅提供信息存储空间,仅对该用户上传内容的表现方式做保护处理,对上传内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知163文库(点击联系客服),我们立即给予删除!
4. 请根据预览情况,自愿下载本文。本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
5. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007及以上版本和PDF阅读器,压缩文件请下载最新的WinRAR软件解压。
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 数值 分析 第八 New 课件
- 资源描述:
-
1、1/36解一阶常微分方程欧拉法解一阶常微分方程欧拉法Range-Kutta公式公式一阶微分方程组与一阶微分方程组与二阶方程二阶方程常微分方程边值问题常微分方程边值问题线性多步法简介线性多步法简介数值分析 第八章第八章2/36一阶常微分方程初值问题一阶常微分方程初值问题:000)(),(yxyxxyxfy数值方法数值方法取离散点取离散点:x0 x1 x2 xn 其中其中,y=y(x)是未知函数是未知函数,f(x,y)是已知函数是已知函数.初值初值 y0 是已知数据。是已知数据。求未知函数求未知函数 y(x1),y(x2),y(xn),的近似值的近似值y1,y2,y3,yn)(nxyny称为常微分
2、方程的数值解。称为常微分方程的数值解。这里这里 是是 的数值逼近的数值逼近.3/36例例1.常微分方程与向量场常微分方程与向量场平面区域平面区域:0 x 1.5,0 y 1.5,)(2),(yxyxf ),(yxfy 0)0(yy ijijjikyxf tan),(斜率斜率方向余弦方向余弦1,11sin,cos22ijijijijijkkk 4/36 000)(),(yxyxxyxfy取步长取步长 h,记点记点:),(1nnnnyxfhyy 在第在第 n 个点处个点处),2,1,0(,0 nnhxxn)()(1)(010 xyxyhxy 一阶向前差商一阶向前差商:),(0001yxfhyy )
3、,(0001yxhfyy ),(1nnnnyxhfyy 欧拉公式欧拉公式),2,1,0(n初值问题初值问题:5/36例例2.Logistic模型模型)1(yyy )exp(911)(xxy 解析解解析解:1.0)0(y)1(1nnnnyhyyy 欧拉公式欧拉公式),2,1,0(n6/3601234500.20.40.60.81取点取点(xn,yn),(n=0,1,2,)欧拉公式解的几何解释欧拉公式解的几何解释:取取 x=xn+1 得得:yn+1=yn+h f(xn,yn)点斜式直线方程点斜式直线方程:y=yn+(x xn)f(xn,yn),取点取点(xn,yn)(xn+1,yn+1)7/36y
4、=f(x,y)1)(,()()(1nnxxnndxxyxfxyxy),(),(2)(,(111 nnnnxxyxfyxfhdxxyxfnn梯形公式梯形公式:),(1nnnnyxhfyy 左矩形公式左矩形公式),()(,(1nnxxyxhfdxxyxfnn 用数值积分方法离散常微分方程用数值积分方法离散常微分方程 11)(,()(nnnnxxxxdxxyxfdxxy8/36),(nnnnyxhfyy1),(),(2111 nnnnnnyxfyxfhyy),(),(2111 nnnnnnyxfyxfhyy预预-校方法又称为修正的校方法又称为修正的Euler法法,算法如下算法如下 k1=f(xn,y
5、n),k2=f(xn+1,yn+h k1),2211kkhyynn 由梯形公式推出的预由梯形公式推出的预-校方法校方法:9/36设设 yn=y(xn),称称 Rn+1=y(xn+1)-yn+1为为局部截断误差局部截断误差.)(2)()()()()(2111 yxxxyxxxyxynnnnnnn )(2),()()(21 yhyxhfxyxynnnn 即即由泰勒公式由泰勒公式Euler公式公式:yn+1=yn+hf(xn,yn)的局部截断误差的局部截断误差y(xn+1)yn+1=y(xn)yn+O(h2)=O(h2)Euler公式的局部截断误差记为公式的局部截断误差记为:O(h2)称称Euler
6、公式具有公式具有1阶精度。阶精度。10/36若局部截断误差为若局部截断误差为:O(h p+1)则称显式单步法具有则称显式单步法具有 p 阶精度阶精度。例例 3 证明修正的证明修正的Euler法具有法具有2阶精度阶精度),(),(2111 nnnnnnyxfyxfhyy),(1nnnnyxhfyy 证证 由预测公式由预测公式),(,(),(11nnnnnnyxhfyhxfyxf )(),(),(),(),(2hOyxfyxhfyxhfyxfnnynnnnxnn ),()(nnnyxfxy ),(),(),()(nnnnynnxnyxfyxfyxfxy 11/36)()(2)()()(321hOx
7、yhxyhxyxynnnn 由由Taylor 级数级数)()()(),(211hOxyhxyyxfnnnn ),(),(2111 nnnnnnyxfyxfhyy)()()()(231hOxyhxyxyhyynnnnn )()(311hOyxynn nnyxy)(设设局部截断误差局部截断误差:故修正的故修正的Euler法法具有具有2阶精度。阶精度。12/36三阶三阶Range-Kutta公式一般形式公式一般形式yn+1=yn+hk1+4k2+k3/6k1=f(xn,yn),k2=f(xn+0.5h,yn+0.5hk1)k3=f(xn+h,yn hk1+2hk2)四阶四阶Range-Kutta公式
8、一般形式公式一般形式yn+1=yn+hk1+2k2+2k3+k4/6k1=f(xn,yn),k2=f(xn+0.5h,yn+0.5hk1)k3=f(xn+0.5h,yn+0.5hk2),k4=f(xn+h,yn+hk3)13/36 1)0(20,2yxxyydxdyxexxy 211)(例例4数值实验数值实验:几种不同求数值解公式的误差比较几种不同求数值解公式的误差比较 n 10 20 30 40 h 0.2 0.1 0.0667 0.05RK4 6.862e-005 3.747e-006 7.071e-007 2.186e-007RK3 0.0012 1.529e-004 4.517e-00
9、5 1.906e-005RK2 0.0123 0.0026 0.0011 5.9612e-004Euler 0.1059 0.0521 0.0342 0.025614/36MATLAB求解常微分方程初值问题命令求解常微分方程初值问题命令:(1)定义一阶微分方程的右端函数定义一阶微分方程的右端函数;(2)用用MATLAB命令命令ode23()求数值解。求数值解。使用格式使用格式:T,Y=ode23(F,Tspan,y0)其中其中,Tspan=t0,tN是常微分方程的求解区域是常微分方程的求解区域,y0是解的初值是解的初值15/36实验例题实验例题1 蛇形曲线的常微分方程初值问题蛇形曲线的常微分方
10、程初值问题 22211yxy 0)0(yMATLAB数值求解命令数值求解命令F=inline(1./(1+x.2)-2*y.2);ode23(F,0,6,0)输出结果为图形输出结果为图形 012345600.10.20.30.40.5T,y=ode23(f,0,6,0)将得到将得到自变量和函数的离散数据自变量和函数的离散数据 16/36MATLAB解常微分方程初值问题命令解常微分方程初值问题命令 1)0(20,2yxxyydxdy数值求解命令数值求解命令:x,y=ode23(f,a,b,y0)f=inline(y-x.*y.2);x,y=ode23(f,0,2,1)符号求解命令符号求解命令:d
11、solve(eqn1,.)syms x ydsolve(Dy=y-x*y2,y(0)=1,x)ans=1/(x-1+2*exp(-x)xexxy 211)(解析解解析解:17/36 ),(),(21yxtfdtdyyxtfdtdx两个未知函数的一阶常微分方程组两个未知函数的一阶常微分方程组00)(xtx 00)(yty 常微分方程组的向量形式常微分方程组的向量形式),(YtFdtdY 00)(YtY 记记 yxY ),(),(),(21YtfYtfYtF18/36欧拉公式欧拉公式:TyxY,000),(1nnnnYthFYY ),2,1,0(n ),(),(2111nnnnnnnnnnyxtf
展开阅读全文