C++ 矩阵的相关系数

C++ 矩阵的相关系数,c++,visual-c++,C++,Visual C++,有人能帮我吗,因为我在这个代码上有错误,我不知道哪里出了问题。我得到以下信息: 错误C2059:语法错误:“return”, 错误C2334:在“{”之前出现意外标记;跳过明显的函数体, 错误C2039:“rtn”:不是“corr_系数”的成员 参见“修正系数”的声明 多谢各位 using namespace std; class corr_coefficient { matrix x, y; double sum, C, corr[5]; int j; publi

有人能帮我吗,因为我在这个代码上有错误,我不知道哪里出了问题。我得到以下信息: 错误C2059:语法错误:“return”, 错误C2334:在“{”之前出现意外标记;跳过明显的函数体, 错误C2039:“rtn”:不是“corr_系数”的成员 参见“修正系数”的声明 多谢各位

using namespace std;

class corr_coefficient
{
    matrix x, y;
    double sum, C, corr[5];
    int j;  
public:
    double calc_mu(matrix x, int j=0);
    double calc_covariance(matrix x, matrix y, int j); 
    double calc_correlation();
    double StandardDeviation(matrix a, int j=0);
    double return(int i){return corr[i];
    };
    corr_coefficient(matrix x, matrix y);
    };

double corr_coefficient::calc_mu(matrix x, int j)
{
    sum=0;
    for(int i=0; i<C; i++)
    {
        sum = sum+x(i,j);
    }
    return sum/C;
}

double corr_coefficient::calc_covariance(matrix x, matrix y, int j)
{
    double mux=calc_mu(x,0); 
    double muy=calc_mu(y,j); 
    sum=0;
    for (int i=0; i<C; i++)
    {
        sum=sum+(x(i,0)-mux)*(y(i,j)-muy);
    }
    return sum/(C-1); 
}
double corr_coefficient::StandardDeviation(matrix a, int j)

{
    double mua=calc_mu(a,j); 

    sum=0;
    for (int i=0; i<C; i++)
    {
        sum=sum+((a(i,j))-mua)*((a(i,j))-mua);
    }
    return sqrt(sum/(C-1));
}
corr_coefficient::corr_coefficient(matrix x, matrix y)
{
    C=35;
    for (int j=0; j<5; j++)
    {
        corr[j]=calc_covariance(x, y, j)/(StandardDeviation(x, 0)*StandardDeviation(y, j));
    }
}
使用名称空间std;
类修正系数
{
矩阵x,y;
双和,C,corr[5];
int j;
公众:
双计算单位(矩阵x,int j=0);
双计算协方差(矩阵x,矩阵y,int j);
双重计算关联();
双标准偏差(矩阵a,int j=0);
双返回(int i){return corr[i];
};
corr_系数(矩阵x,矩阵y);
};
双修正系数:计算单位(矩阵x,int j)
{
总和=0;
对于(int i=0;i
return
是一个关键字。您不能有一个名为
return
的函数。只需将其称为不同的函数即可。也许
operator[]
是在此处重载的合适操作符

double operator[](int i){ return corr[i]; }
return
是一个关键字。您不能有一个名为
return
的函数。只需将其称为不同的函数即可。也许
operator[]
是在此处重载的合适操作符

double operator[](int i){ return corr[i]; }