【发布时间】:2014-10-26 10:24:40
【问题描述】:
我想更新this question 中的问题,这与this question 中的建议部分相关。
设M 为 MATLAB 矩阵,例如:
1 2 3
1 2 4
3 2 5
3 5 4
1 4 5
我想有效地将M的行分成两组,这样:
- 在第一组
M(A>B)中的所有行中:- 元素
A的排名高于元素B(如果这两个元素都存在) - 或者元素
A存在而元素B不存在 - 或者
A和B这两个元素都不存在
- 元素
- 在第一组
M(B>A)中有所有行:- 元素
B的排名高于元素A(如果这两个元素都存在) - 或者元素
B存在而元素A不存在 - 或者
A和B这两个元素都不存在
- 元素
在上面给出的例子中,如果A=2和B=3,第一组M(A>B)定义为:
1 2 3
1 2 4
1 4 5
而第二组M(B>A)定义为:
3 2 5
3 4 5
1 4 5
请注意,在我的例子中,矩阵 M 非常大,因此基于 ismember 的解决方案不够快。
【问题讨论】:
标签: performance matlab matrix