📄 kendl2.cpp
字号:
#include <cmath>
#include "nr.h"
using namespace std;
void NR::kendl2(Mat_I_DP &tab, DP &tau, DP &z, DP &prob)
{
int k,l,nn,mm,m2,m1,lj,li,kj,ki;
DP svar,s=0.0,points,pairs,en2=0.0,en1=0.0;
int i=tab.nrows();
int j=tab.ncols();
nn=i*j;
points=tab[i-1][j-1];
for (k=0;k<=nn-2;k++) {
ki=(k/j);
kj=k-j*ki;
points += tab[ki][kj];
for (l=k+1;l<=nn-1;l++) {
li=l/j;
lj=l-j*li;
mm=(m1=li-ki)*(m2=lj-kj);
pairs=tab[ki][kj]*tab[li][lj];
if (mm != 0) {
en1 += pairs;
en2 += pairs;
s += (mm > 0 ? pairs : -pairs);
} else {
if (m1 != 0) en1 += pairs;
if (m2 != 0) en2 += pairs;
}
}
}
tau=s/sqrt(en1*en2);
svar=(4.0*points+10.0)/(9.0*points*(points-1.0));
z=tau/sqrt(svar);
prob=erfcc(fabs(z)/1.4142136);
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -