基本上,我正在编写的这个算法将 List L 作为输入,并希望找到一个数字 x,使得 L、i、减去 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)