龙格库塔方法课件_第1页
龙格库塔方法课件_第2页
龙格库塔方法课件_第3页
龙格库塔方法课件_第4页
龙格库塔方法课件_第5页
已阅读5页,还剩14页未读 继续免费阅读

下载本文档

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

文档简介

Runge-Kuttua方法和matlab原理

Runge-Kuttua方法和matlab原理

龙格-库塔法(Runge-Kutta)数值分析中,龙格-库塔法(Runge-Kutta)是用于模拟常微分方程的解的重要的一类隐式或显式迭代法。这些技术由数学家卡尔·龙格和马丁·威尔海姆·库塔于1900年左右发明。经典四阶龙格库塔法龙格库塔法的家族中的一个成员如此常用,以至于经常被称为“RK4”或者就是“龙格库塔法”。龙格-库塔法(Runge-Kutta)四阶Runge-Kutta方法四阶Runge-Kutta方法龙格库塔方法课件这样,下一个值(yn+1)由现在的值(yn)加上时间间隔(h)和一个估算的斜率的乘积决定。该斜率是以下斜率的加权平均:k1是时间段开始时的斜率;k2是时间段中点的斜率,通过欧拉法采用斜率k1来决定y在点tn+h/2的值;k3也是中点的斜率,但是这次采用斜率k2决定y值;k4是时间段终点的斜率,其y值用k3决定。当四个斜率取平均时,中点的斜率有更大的权值:

这样,下一个值(yn+1)由现在的值(yn)加上时间间隔(h误差分析:注意上述公式对于标量或者向量函数(y可以是向量)都适用。

四阶R-K方法的每一步需要计算四次函数值f,可以证明其局部截断误差为O(h5).

误差分析:四阶R-K方法的每一步需要计算四次R-K(高阶)方法不唯一,选择不同的参数能得到不同的R-K公式注意的问题R-K方法的推导是基于Taylor展开法,因而要求解具有较好的光滑性,如果光滑性较差精度可能不如改进Euler方法,最好采用低阶算法而将步长h

取小。Runge-Kutta法的主要运算在于计算

Ki

的值,即计算

f

的值。计算量与可达到的最高精度阶数的关系:753可达到的最高精度642每步须算Ki的个数R-K(高阶)方法不唯一,选择不同的参数能得到注意的问题R-四阶Runge-Kutta方法的MATLAB实现原理:四阶Runge-Kutta方法的MATLAB实现原理:四阶R-K方法实现开始输出x1,y1结束YN四阶R-K方法实现开始输出x1,y1结束YNfunctionff=rk(yy,x0,y0,h,a,b)%yy为y的导函数,x0,y0,为初值,h为步长,a,b为区间c=(b-a)/h+1;i1=1;%c为迭代步数;i1为迭代步数累加值y=y0;z=zeros(c,6);%z生成c行,6列的零矩阵存放结果;%每行存放c次迭代结果,每列分别存放k1~k4及y的结果functionff=rk(yy,x0,y0,h,a,b)不断迭代运算:forx=a:h:b

ifi1<=ck1=feval(yy,x,y);k2=feval(yy,x+h/2,y+(h*k1)/2);k3=feval(yy,x+h/2,y+(h*k2)/2);k4=feval(yy,x+h,y+h*k3);y=y+(h/6)*(k1+2*k2+2*k3+k4);z(i1,1)=x;z(i1,2)=k1;z(i1,3)=k2;z(i1,4)=k3;z(i1,5)=k4;z(i1,6)=y;i1=i1+1;

endend不断迭代运算:例4解例题4例4解例题4xnYn|yn-y(xn)|R-K3误差y(xn)0.11.09590.00051.095440.45e-41.09540.21.18410.00091.183220.17e-41.18320.31.26620.00131.264910.15e-41.26490.41.34340.00181.341650.48e-41.34160.51.41640.00221.414220.25e-41.41420.61.48600.00281.483260.55e-41.48320.71.55250.00331.549210.14e-41.54920.81.61650.00401.6124780.21e-41.61250.91.67820.00491.673350.54e-41.67331.01.73790.00581.732090.06e-41.7321xnYn|yn-y(xn)|R-K3误差y(xn)0.11.改进Euler法一步需要计算两个函数值(h=0.1)四阶Runge-Kutta方法一步需要计算四个函数值(h=0.2)总计算量大致相当,但四阶Runge-Kutta方法精度更高改进Euler法一步需要计算两个函数值(h=0.1)五、变步长Runge-Kutta方法从每一步看,步长越小,截断误差越小;但随着步长的缩小,在一定求解范围内所要完成的步数就会增加,步数的增加不但引起计算量的增大,而且可能导致舍入误差的严重积累,因此需要选择步长如何衡量和检验计算结果的精度如何依据所判定的精度来处理步长五、变步长Runge-Kutta方法从每一步看,步长越小,截实施方案以经典四阶Runge-Kutt

温馨提示

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

最新文档

评论

0/150

提交评论