relax2.c
来自「Numerical Recipes Software 提供的算法子程序集」· C语言 代码 · 共 23 行
C
23 行
void relax2(u,rhs,n)
double **rhs,**u;
int n;
{
int i,ipass,isw,j,jsw=1;
double foh2,h,h2i,res;
h=1.0/(n-1);
h2i=1.0/(h*h);
foh2 = -4.0*h2i;
for (ipass=1;ipass<=2;ipass++,jsw=3-jsw) {
isw=jsw;
for (j=2;j<n;j++,isw=3-isw) {
for (i=isw+1;i<n;i+=2) {
res=h2i*(u[i+1][j]+u[i-1][j]+u[i][j+1]+u[i][j-1]-
4.0*u[i][j])+u[i][j]*u[i][j]-rhs[i][j];
u[i][j] -= res/(foh2+2.0*u[i][j]);
}
}
}
}
/* (C) Copr. 1986-92 Numerical Recipes Software . */
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?