balanc.c
来自「适合大型数值计算代码 现在网络上已经找不到了 购买需要20$」· C语言 代码 · 共 45 行
C
45 行
#include <math.h>#define RADIX 2.0void balanc(float **a, int n){ int last,j,i; float s,r,g,f,c,sqrdx; sqrdx=RADIX*RADIX; last=0; while (last == 0) { last=1; for (i=1;i<=n;i++) { r=c=0.0; for (j=1;j<=n;j++) if (j != i) { c += fabs(a[j][i]); r += fabs(a[i][j]); } if (c && r) { g=r/RADIX; f=1.0; s=c+r; while (c<g) { f *= RADIX; c *= sqrdx; } g=r*RADIX; while (c>g) { f /= RADIX; c /= sqrdx; } if ((c+r)/f < 0.95*s) { last=0; g=1.0/f; for (j=1;j<=n;j++) a[i][j] *= g; for (j=1;j<=n;j++) a[j][i] *= f; } } } }}#undef RADIX
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?