基本的に、私が書いているこのアルゴリズムは、入力としてリストLを取り、L、i、マイナスxの2乗および合計のすべての項目が最小化されるような数値xを見つけたいと考えています。の合計の最小xを見つけますabs(L[i]-x)**2
。これまでのところ、私のアルゴリズムは、フローティングの場合ではなく、想定どおりに動作しています。フローティングを実装する方法がわかりません。たとえば、[2, 2, 3, 4]
理想的には結果が得られ2.75
ますが、私のアルゴリズムは現在、浮動整数を生成できません。
def minimize_square(L):
sumsqdiff = 0
sumsqdiffs = {}
for j in range(min(L), max(L)):
for i in range(len(L)-1):
sumsqdiff += abs(L[i]-j)**2
sumsqdiffs[j]=sumsqdiff
sumsqdiff = 0
return min(sumsqdiffs, key=sumsqdiffs.get)