【问题标题】:Correlation coefficient of matrices矩阵的相关系数
【发布时间】:2013-03-22 19:47:32
【问题描述】:

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

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));
    }
}

【问题讨论】:

    标签: c++ visual-c++


    【解决方案1】:
    double return(int i){return corr[i];
    };
    

    return 是一个关键字。你不能有一个名为return 的函数。只是称它为不同的东西。也许operator[] 是在这里重载的合适运算符?

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

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2013-10-14
      • 1970-01-01
      • 1970-01-01
      • 2018-10-28
      • 1970-01-01
      • 1970-01-01
      • 2012-11-04
      相关资源
      最近更新 更多