日記002

やった事,最近傍法の復習(ブラッシュアップの意味を兼ねて) Twittergithubにて追加している(Twitterでほとんど完結している気がする.)

github.com

最短距離の計算について,間違いがあって見つけるのに時間を要した

     //最短距離の計算
        printf("最短距離");
        for (i = 0; i < id; i++) {
            //pdec初めに選ばれたのは1なので自分自身が選ばれることはない
            if (pdec[i] == 0) {
                box = euclid(p[dec][0], p[dec][1], p[i][0], p[i][1]);
                //最初の比較は通る(decminは1000のため)
                if (box < decmin) {
                    decmin = box;
                    printf("%.2f,", decmin);
                    //decの選定はifで回りきった最後の値iになるためなのは間違い
                    j = i;
                }
            }
        }

これは正しいコードだが, 間違い⚠

             if (box < decmin) {
                    decmin = box;
                    printf("%.2f,", decmin);
                    //decの選定はifで回りきった最後の値iになるためなのは間違い
                    dec= i;
                }

dec=i; としていたためeuclidの計算がdecminで更新されたi(現状最小値として更新されたxとyの座標)が 入ってしまうためバグが発生した.


P.S.面倒な時がほとんどなので軽く日記として記述する場合がある報告書のコピペを載せるだけの記事になるかもしれない[予定] k-meansの実装を目標としているため,各グループIDの平均を求め重心を確定させることをする. tag[j]の意味合いを理解する.(ある程度は関連付け出来ている) gitの操作も程度理解した(push)のやり方 休日は恐らく進捗ない.進捗ある時だけ更新を目指す(三日坊主でもいいんやで?)