相关系数r的计算公式如下所示
(1-1)
其中x={x1,x2,x3...,xn},y={y1,y2,y3...yn}
#include "math.h"
#include "stdio.h"
//相关系数函数
double aaa(int a[],int b[],int n){
int k = 0;
int temp1s=0;
int temp2s=0;
double x1=0,y1=0,x2=0,y2=0,t1=0;
for (int i = 0; i <n; i++)
{
int temp1 =a[i];
int temp2 =b[i];
temp1s+=temp1;
temp2s+=temp2;
}
//求均值
double ave_temp1=double(temp1s)/n;
double ave_temp2=double(temp2s)/n;
for (int j = 0; j < n; j++)
{
x1=(a[j]-ave_temp1);
y1=(b[j]-ave_temp2);
t1+=x1*y1;
double p2=pow(x1,2);
x2+=p2;
double q2=pow(y1,2);
y2+=q2;
}
double c=sqrt(x2*y2);
double r=t1/c;
return r;
}
int main(){
int a[]={1,2,3,4,5,6,7,8,9,0};
int b[]={1,2,3,4,5,6,7,8,9,0};
double r=aaa(a,b,10);
printf("%lf\n",r);
}