ZKX's LAB

怎么循环迭代龙格库塔方程 如何用龙格库塔方法(RK)解布拉修斯Blasius方程?

2020-10-04知识12

用龙格库塔方法解下面的常微分方程 C++编程 另z=y' 原来的方程就可以化简成以z'和y,x的方程 和y'=z 带入两个初始条件,就可以进行迭代了

怎么循环迭代龙格库塔方程 如何用龙格库塔方法(RK)解布拉修斯Blasius方程?

哪位大哥能帮我找到关于“龙格库塔方法”方面的文字说明啊?越详细越好。

怎么循环迭代龙格库塔方程 如何用龙格库塔方法(RK)解布拉修斯Blasius方程?

龙格库塔方法求解常微分方程为什么会出现解误差较大 你好,请搜索”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:/。

怎么循环迭代龙格库塔方程 如何用龙格库塔方法(RK)解布拉修斯Blasius方程?

如何用龙格库塔方法(RK)解布拉修斯Blasius方程? 课哦批发价格破iejaihjaijhjhriomlkrtsnhsnjh 骄傲就hi哦

#龙格库塔法

随机阅读

qrcode
访问手机版