已经很晚了,所以我不知道这会有多清楚。
我有一个函数 f(x),我想从 f(x) 达到最小负值的列表中获取 x 的值,即:
x = [0, 2, 4, 6]
f(x) = [200, 0, -3, -1000]
在这种情况下,我想要返回 x 中的值 4,这给了我 -3。我不想要绝对最小值(-1000),而是绝对值最低的负值。
我希望这是有道理的,非常感谢您的帮助。
更新
我试图简化问题,也许太多了。事情是这样的:我有一个形成多边形的二维点列表,我想顺时针排列它们。
为此,我取每个点与其余点之间的叉积,并根据从前一个点获得负叉积(告诉我旋转感)并且绝对值最小(告诉我它)来选择下一个点真的是下一点)。
所以,说:
x = [(1,1), (-1,-1), (-1,1), (1,-1)]
我想得到
x = [(1,1), (1,-1), (-1,-1), (-1,1)]
我正在做
for point in x:
cp = [numpy.cross(point, p) for p in x]
# and then some magic to select the right point...
再次感谢您的帮助。