回答編集履歴

2

追記

2017/08/21 09:06

投稿

LouiS0616
LouiS0616

スコア35660

test CHANGED
@@ -81,3 +81,43 @@
81
81
  **結論**
82
82
 
83
83
  rat_lavの定義と、使い方に齟齬が生じています。
84
+
85
+
86
+
87
+ **修正の方針**
88
+
89
+ 定義部は、次のようにすればよいと思います。(動作検証していません)
90
+
91
+ ``` Python
92
+
93
+ rat_lav = []
94
+
95
+ for i in range(84):
96
+
97
+ tmp = []
98
+
99
+ for j in range(84):
100
+
101
+ matcher = matching_hist(histtest[i:i+1, 0:], histrain[j:j+1, 0:])
102
+
103
+ matcher = float(matcher)
104
+
105
+ tmp.append((matcher, j))
106
+
107
+
108
+
109
+ rat_lav.append(tmp)
110
+
111
+ ```
112
+
113
+
114
+
115
+ ついでに最深部のリストをタプルに変更しました。
116
+
117
+
118
+
119
+ 利用部については、そもそも最初のif文は必要ないのかな?と思いました。
120
+
121
+ 正しくコードが組めているなら、常に真になるはずでしょうから。
122
+
123
+ 参照するときは、`rat_lav[i][83-k][1]`といったような書き方になるでしょう。

1

修正

2017/08/21 09:06

投稿

LouiS0616
LouiS0616

スコア35660

test CHANGED
@@ -70,6 +70,12 @@
70
70
 
71
71
  このときkの値は0~83ですので、『最初の84要素』しか常に見ていないことになります。
72
72
 
73
+ - **追記**
74
+
75
+ kが0のときは、『次の84要素』を参照しています。
76
+
77
+ 要素の指定は`84-k`ではなく`83-k`とすべきです。
78
+
73
79
 
74
80
 
75
81
  **結論**