mmid.cpp
来自「工程算法 这是一个很有用的工程数值算法集锦」· C++ 代码 · 共 30 行
CPP
30 行
void mmid(double y[],double dydx[], double &nvar, double &xs, double &htot, int nstep, double yout[])
{
int n,i;
double ym[11],yn[11],x,swap,h,h2;
h = htot / nstep;
for( i = 1; i<=nvar; i++)
{
ym[i] = y[i];
yn[i] = y[i] + h * dydx[i];
}
x = xs + h;
derivs(x, yn, yout);
h2 = 2.0 * h;
for( n = 2; n<=nstep; n++)
{
for (i = 1; i<=nvar; i++)
{
swap = ym[i] + h2 * yout[i];
ym[i] = yn[i];
yn[i] = swap;
}
x = x + h;
derivs(x, yn, yout);
}
for( i = 1; i<=nvar; i++)
{
yout[i] = 0.5 * (ym[i] + yn[i] + h * yout[i]);
}
}
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?