在Mathematica中找到对中列表中的最大对

kar*_*kfa 1 wolfram-mathematica

有没有一种简单的方法可以从对列表中找到最大元素?基于列表构造(这些对应于坐标),存在明确定义的最大值{x_max,y_max}.例如,我正在寻找一个功能MaxElement

MaxElement[{{0, 0}, {0, 1}, {1, 1}, {1, 0}}]
Run Code Online (Sandbox Code Playgroud)

将返回 {1,1}

Hig*_*ark 5

或者您可以使用内在函数MaximalBy,例如

MaximalBy[{{0, 0}, {0, 1}, {1, 1}, {1, 0}}, Norm]
Run Code Online (Sandbox Code Playgroud)

第二个参数MaximalBy是用于确定第一个参数中的两个元素中的哪个元素是最大值的函数.在这种情况下,它返回

{{1,1}}
Run Code Online (Sandbox Code Playgroud)

如果此规则未分隔所有元素,则返回所有最大元素.所以

MaximalBy[{{0, 0}, {0, 1}, {1, 0}}, Norm]
Run Code Online (Sandbox Code Playgroud)

回报

{{0,1},{1,0}}
Run Code Online (Sandbox Code Playgroud)

但是3参数形式

MaximalBy[{{0, 0}, {0, 1}, {1, 0}}, Norm, 1]
Run Code Online (Sandbox Code Playgroud)

仅返回找到的第一个最大元素.