Mathematica 是否有相当于 Matlab 的“独特”功能?功能
是否有 Mathematica 函数提供与 MATLAB 中的 unique()
函数等效的结果?我意识到我可以使用 Union[]
函数来获取列表的唯一元素,但我想要相当于该函数的三结果版本的函数,该函数提供在输入之间映射的索引数组数组和唯一值数组。
如果没有内置任何内容,是否可以在某处实现该功能?这里有人知道如何构建它吗?
Is there a Mathematica function that provides results equivalent to the unique()
function in MATLAB? I realize I could use the Union[]
function to obtain the unique elements of a list, but I would like something equivalent to the three-result version of the function that provides index arrays that map between the input array and the array of unique values.
If there is nothing built in, is there an implementation of that function available somewhere? Does someone here know how to build it?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(3)
您可以使用 Mathematica 的
Position[]
。例如,给定一个数字列表,您可以执行以下操作:获取唯一元素的列表以及它们在原始列表中出现的位置的索引。
准确复制 Matlab
Unique() 的功能
,特别是对于您
现在需要提供所需行为的需求
You can easily build similar functionality yourself with Mathematica's
Position[]
. E.g. given a list of numbers you could do the following:to get the list of unique elements and the indices of where they appear in the original list.
To replicate exactly the functionality of Matlab's
Unique()
, especially foryou need
which now provide the desired behavior
有一个简单的方法:
There's a simple way:
尝试
长度[Union[x]]
。如果 x=[1,0,1,1,1]
,那么您将得到Length[Union[x]] = 2
。Try
Length[Union[x]]
.If x=[1,0,1,1,1]
, then you'll getLength[Union[x]] = 2
.