ZKX's LAB

取h=0.2,用四阶经典的龙格一库塔方法求解下列初值问题; (1) (2) 四阶龙格库塔法与欧拉公式比较

2020-07-27知识6

数值分析计算方法求解 欧拉法的局部截断误差的阶为O(h2);改进欧拉法的局部截断误差的阶为 O(h3);三阶龙格-库塔法的局部截断误差的阶为 O(h4).四阶龙格-库塔法的局部截断误差的阶为 O(h5).欧拉法的绝对稳定实区域为-2用二阶龙格库塔法求解常微分方程的初值问题。 你好,请搜索”VisualC+常微分方程初值问题求解“可以找到相关资料例如:三、使用经典龙格-库塔算法进行高精度求解 龙格-库塔(Runge-Kutta)方法是一种在工程上应用广泛的高精度单步算法。由于此算法精度高,采取措施对误差进行抑制,所以其实现原理也较复杂。同前几种算法一样,该算法也是构建在数学支持的基础之上的。对于一阶精度的欧拉公式有:yi+1=yi+h*K1 K1=f(xi,yi)当用点xi处的斜率近似值K1与右端点xi+1处的斜率K2的算术平均值作为平均斜率K*的近似值,那么就会得到二阶精度的改进欧拉公式:yi+1=yi+h*(K1+K2)/2 K1=f(xi,yi)K2=f(xi+h,yi+h*K1)下面的具体程序实现同改进的欧拉算法类似,只需作些必要的改动,下面将该算法的关键部分代码清单列出:…for(floatx=0;x;x+0.1){r=x+expf(-x);K1=x-y[i]+1;file:/求K1K2=(x+(float)(0.1/2))-(y[i]+K1*(float)(0.1/2))+1;file:/求K2K3=(x+(float)(0.1/2))-(y[i]+K2*(float)(0.1/2))+1;file:/求K3K4=(x+0.1)-(y[i]+K3*0.1)+1;file:/求K4y[i+1]=y[i]+(float)(0.1*(K1+2*K2+2*K3+K4)/6);file:/求yi+1r=fabs(r-y[i]);file:/计算误差str.Format(\"y[%d]=fr=f\\r\\n\",i,y[i],r);i+;msg+str;}AfxMessageBox(msg);file:/。什么是欧拉方法(Euler's method)? ?www.zhihu.com 简单来说,隐式欧拉这里 是已知的,这里的 才是未知量,F是函数。我们需要求得当F=0时,y究竟应该是多少,也就是根是多少。怎么办呢?先猜一个数,然后。分别用改进的欧拉法和四阶龙格-库塔公式求解微分方程初值问题 分别用改进的欧拉法和四阶龙格-库塔公式求解微分方程初值问题(1)Y'=Y-2X/Y,Y(0)=1,X=[0,1],H=0.1(2)Y'=X2+。数学建模:狐狸与野兔 用多种方法解下述初值问题,并与其准确解 进行比较.解 取步长.用各方法进行计算对应结果及绝对误差见表(1)、(2)、(3).表(1)xn欧拉公式改进的欧拉公式四阶标准龙格—库塔公式yn误差yn误差yn误差0.01.000000010100.11.0000001.00500001.004837500.21.0100001.0190251.018730900.31.0290001.0412181.040818420.41.0561001.0708021.070320290.51.0904901.1070761.106530930.61.1314411.1494041.14881193表(2)四阶阿当姆斯公式nxn显示公式隐式公式①yn误差yn误差30.3取自准确解1.0408180140.41.070322921.0703196650.51.106535481.1065304160.61.148814811.14881101备 注y1,y2,y3 取自准确解y1,y2 取自准确解① 对本题 关于y为线性,代入隐式公式时,可解出yn+1,因此可直接求隐式公式之解.表(3)四阶阿当姆斯预测—校正公式nxn显示公式隐式公式①Yn误差yn误差40.41.070319921.0703201450.51.106530271.1065307760.61.148811031.14881175备 注y1,y2,y3由四阶标准龙格—库塔公式提供对比以上各表数据可以看到,在相同步长下求解同一问题时,方法的阶数越高,解的精度也越高,。

#欧拉法#龙格库塔法#微分方程

随机阅读

qrcode
访问手机版