rotate.c
来自「适合大型数值计算代码 现在网络上已经找不到了 购买需要20$」· C语言 代码 · 共 37 行
C
37 行
#include <math.h>#define NRANSI#include "nrutil.h"void rotate(float **r, float **qt, int n, int i, float a, float b){ int j; float c,fact,s,w,y; if (a == 0.0) { c=0.0; s=(b >= 0.0 ? 1.0 : -1.0); } else if (fabs(a) > fabs(b)) { fact=b/a; c=SIGN(1.0/sqrt(1.0+(fact*fact)),a); s=fact*c; } else { fact=a/b; s=SIGN(1.0/sqrt(1.0+(fact*fact)),b); c=fact*s; } for (j=i;j<=n;j++) { y=r[i][j]; w=r[i+1][j]; r[i][j]=c*y-s*w; r[i+1][j]=s*y+c*w; } for (j=1;j<=n;j++) { y=qt[i][j]; w=qt[i+1][j]; qt[i][j]=c*y-s*w; qt[i+1][j]=s*y+c*w; }}#undef NRANSI
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?