Skip to content

Commit

Permalink
Add correlation as distance
Browse files Browse the repository at this point in the history
  • Loading branch information
JiaweiZhuang committed Apr 29, 2017
1 parent 7235bf8 commit e4f3566
Showing 1 changed file with 16 additions and 0 deletions.
16 changes: 16 additions & 0 deletions Parallel_Algorithm/shared/math_util.c
Original file line number Diff line number Diff line change
Expand Up @@ -7,3 +7,19 @@ float distance(int N_features,float *x1,float *x2){
dist += (x1[j]-x2[j])*(x1[j]-x2[j]);
return(dist);
}

float correlation(int N_features,float *x,float *y){
float xsum=0.0,ysum=0.0,xysum=0.0,xsqr_sum=0.0,ysqr_sum=0.0;
for (int j = 0; j<N_features; j++) {
xsum = xsum + x[i];
ysum = ysum + y[i];
xysum = xysum + x[i] * y[i];
xsqr_sum = xsqr_sum + x[i] * x[i];
ysqr_sum = ysqr_sum + y[i] * y[i];
}

float num = ((N_features * xysum) - (xsum * ysum));
float deno = ((N_features * xsqr_sum - xsum * xsum)* (N_features * ysqr_sum - ysum * ysum));
float coeff = num / sqrt(deno);
return(coeff);
}

0 comments on commit e4f3566

Please sign in to comment.