diff --git a/miscmaths.cc b/miscmaths.cc index 2913b5f04e718a2f1b1f408e7a032f3abea2305a..d33f58673807abd79887585c37cc1d3175a265ee 100644 --- a/miscmaths.cc +++ b/miscmaths.cc @@ -2127,9 +2127,7 @@ ReturnMatrix cov_r(const Matrix& data, const Matrix& weights2, int econ) SymmetricMatrix res; res << zeros(data.Nrows(),data.Nrows()); Matrix meanM(mean(data,weights,2)); - - int N=1-weights.SumSquare();//As weights.Sum() is equal to 1 - + double N=(1-weights.SumSquare());//As weights.Sum() is equal to 1 if ( econ < 1 ) econ=data.Ncols(); for(int startCol=1; startCol <= data.Ncols(); startCol+=econ) { @@ -2140,24 +2138,7 @@ ReturnMatrix cov_r(const Matrix& data, const Matrix& weights2, int econ) } res << res + suba*suba.t()/N; } - write_ascii_matrix("data.mat",data); - write_ascii_matrix("weights.mat",weights); - write_ascii_matrix("nonorm",cov_r(data,false)); - write_ascii_matrix("old.mat",res); - //res.Release(); - Matrix Data2=data; - for(int ctr=1; ctr <= data.Ncols(); ctr++) - Data2.Column(ctr)*=weights(ctr); - - - - Matrix res2 = oldcov(Data2.t(),1); - res << res2; - write_ascii_matrix("new.mat",res); - exit(1); - - - + res.Release(); return res; }