查找 MATLAB 矩阵中重复次数最多的行
我正在寻找一个函数来查找 MATLAB 中矩阵中重复次数最多(即模态)的行。类似于:
>> A = [0, 1; 2, 3; 0, 1; 3, 4]
A =
0 1
2 3
0 1
3 4
然后运行:
>> mode(A, 'rows')
将返回 [0, 1]
,理想情况下,第二个输出给出该行出现的索引(即 [1, 3]'
。)
有谁知道这样的功能吗?
I am looking for a function to find the most repeated (i.e. modal) rows of a matrix in MATLAB. Something like:
>> A = [0, 1; 2, 3; 0, 1; 3, 4]
A =
0 1
2 3
0 1
3 4
Then running:
>> mode(A, 'rows')
would return [0, 1]
, ideally with a second output giving the indexes where this row occurred (i.e. [1, 3]'
.)
Does anyone know of such a function?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(2)
您可以使用 UNIQUE 获取唯一行索引,然后调用 MODE 。
You can use UNIQUE to get unique row indices, and then call MODE on them.
答案可能并不正确。尝试 A = [2, 3; 0, 1; 3、4; 0, 1]。
应该是以下内容:
The answer may not be right. Try A = [2, 3; 0, 1; 3, 4; 0, 1].
It should be the following: