求解一道题!龙格库塔方法的!!! M文件:function dy=f(x,y);dy=zeros(2,1);dy(1)=y(2);dy(2)=-y(1)-(y(1)^2-1)*y(2);[x,y]=ode23('f',[-20,20],[0,0.5]);plot(x,y(:,1),'b*')
三阶_龙格-库塔公式 详细推导过程 最低0.27元开通文库会员,查看完整内容>;原发布者:jiwen2001a作者2113最近在学习《数值分析》这门课程5261时,发现多数教材只以二4102阶二段龙格库塔(R-K)公式为例进行推1653导,对于三四阶R-K公式只是简单一提,便给出结论。作者查了一些资料,都未找到三阶R-K公式的详细推导过程。于是饶有兴致地尝试推导,功夫不负有心人,终于有所收获,特与大家分享。作者以30岁的年龄、18岁的心态,终得此成果,很欣慰。R-K公式应用广泛,是一种高精度的单步法,读者在阅读本文之前,应该已经了解R-K方法,并已熟悉二阶二段龙格库塔(R-K)公式的推导过程。主要参考资料:同济大学出版社:《高等数学》、《数值分析基础》。三阶R-K公式如下:其中:将k2按二元函数在处按Taylor公式展开,()然后k3作类似的处理(注意:将其中的k2用上式代替,并注意略去导致最终展开式中的O(h4)项):将上述公式带入总公式即可,读者可自己尝试,此处不再赘述。然后再与y(xn+1)在点xn处的泰勒展开式(如下)比较使对应项的系数相等,聪明的你经过简单分析即可得到:这是8个未知数6个方程的方程组,解不唯一。
龙格库塔方法是基于泰勒展开方法推导出来的,因而他要求解具有较好的光滑性质——这句话是什么意思? 因为泰勒展开需要用到函数的高阶倒数在展开点的值做系数(具体参见数学书上泰勒展开的具体形式)因此需要函数在区域内高阶导数存在且连续
龙格库塔三阶公式如何推导? 在区间[xi,xi+1]上除两点xi和xi+a2=xi+a2h,以外,再增抄加一点xi+a3=xi+a3h,用这三点处的袭斜率值K1、K2和K3的加权平均得出平均斜率K*的近似值K,这时百计算格式具有度形式:y(i+1)=y(i)+c1K1+c2K2+c3K3K1=hf(xi,yi)K2=hf(xi+a2h,yi+b21K1)K3=hf(xi+a3h,yi+b31K1+b32K2)同理推导二阶公式,将y(xi+1)和yi+1在x=xi处进行问Taylor展开,使局部截断误差达答到O(h4),使对应项的系数相等.