save state; test clustering not OK, all others OK
[epclust.git] / epclust / src / computeMedoidsIndices.cpp
index 6934181..f247584 100644 (file)
@@ -21,9 +21,9 @@ IntegerVector computeMedoidsIndices(SEXP pMedoids, NumericMatrix ref_series)
 {
        XPtr<BigMatrix> pMed(pMedoids);
        MatrixAccessor<double> medoids = MatrixAccessor<double>(*pMed);
-       int nb_series = ref_series.nrow(),
-               K = pMed->nrow(),
-               L = pMed->ncol();
+       int nb_series = ref_series.ncol(),
+               K = pMed->ncol(),
+               L = pMed->nrow();
        IntegerVector mi(nb_series);
 
        for (int i=0; i<nb_series ; i++)
@@ -36,7 +36,7 @@ IntegerVector computeMedoidsIndices(SEXP pMedoids, NumericMatrix ref_series)
                        double dist_ij = 0.;
                        for (int k=0; k<L; k++)
                        {
-                               double delta = ref_series(i,k) - *(medoids[k]+j);
+                               double delta = ref_series(k,i) - *(medoids[j]+k);
                                dist_ij += delta * delta;
                        }
                        if (dist_ij < best_dist)