在 Maxima 列表中查找最大值和索引?

Mar*_*o R 2 list maxima

我有一个 maxima 列表,例如:

x:[1,3,7,98,211,3,2.44,23]
Run Code Online (Sandbox Code Playgroud)

我需要找到列表的最大值以及最大值位于哪个位置。

我唯一想到的是将列表重写为序列并应用“max”命令

max(first(x),second(x),...,last(x))
Run Code Online (Sandbox Code Playgroud)

但效率不高,而且我不知道得到最大值的索引。

有谁能够帮助我?

Rob*_*ier 5

lmax返回列表的最大值。给定x一个列表,那么

 lmax(x)
Run Code Online (Sandbox Code Playgroud)

返回 的最大值x

获取最大值的索引有点复杂。最相关的内置函数(除非我忘记了某些事情——可能会发生)是sublist_indices,它返回满足谓词的元素的索引。谓词是一个返回 true 或 false 的变量的函数。继续这个例子,`

sublist_indices(x, lambda([x1], x1 = lmax(x)))
Run Code Online (Sandbox Code Playgroud)

返回 的元素x取最大值的一个或多个索引。