rk4.cpp

来自「提供了4种解常微分方程组的c++代码:定步长四阶龙格-库塔(Runge-Kutt」· C++ 代码 · 共 35 行

CPP
35
字号
void rk4(double y[], double dydx[], int &n, double &x, double &h, double yout[])
{
	int i;
    double yt[11], dyt[11], dym[11],hh,h6,xh;
    hh = h * 0.5;
    h6 = h / 6.0;
    xh = x + hh;
    for( i = 1; i<=n; i++)
	{
        yt[i] = y[i] + hh * dydx[i];
    }
    derivs(xh, yt, dyt);
    for( i = 1; i<=n; i++)
	{
        yt[i] = y[i] + hh * dyt[i];
    }
    derivs(xh, yt, dym);
    for( i = 1; i<=n; i++)
	{
        yt[i] = y[i] + h * dym[i];
        dym[i] = dyt[i] + dym[i];
    }
    derivs(x + h, yt, dyt);
    for (i = 1; i<=n; i++)
	{
        yout[i] = y[i] + h6 * (dydx[i] + dyt[i] + 2.0 * dym[i]);
    }
	for(i=1; i<=10; i++)
	{
		dym[i]=0.0;
		dyt[i]=0.0;
		yt[i]=0.0;
	}
}

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?