我有一个矩阵
a = [ 1 'cancer'
2 'cancer'
3 'cancer'
4 'noncancer'
5 'noncancer' ]
我有另一个带有值的矩阵
b = [ 4
5
2 ]
现在我必须将 b 矩阵值与 a 值进行比较,输出应该是
output = [ 4 'noncancer'
5 'noncancer'
2 'cancer']
如何在 matlab 中做到这一点?
最佳答案
您可以使用ismember
:
a = { 1 'cancer'
2 'cancer'
3 'cancer'
4 'noncancer'
5 'noncancer' };
b = [ 4
5
2 ];
a(ismember([a{:,1}], b),:)
这会导致
ans =
[2] 'cancer'
[4] 'noncancer'
[5] 'noncancer'
要按 b
指定的顺序显示结果,请使用(按照后续问题中的要求: In the same order, finding an element in an array by comparing it with another array )
[logicIDX, numIDX] = ismember(b, [a{:,1}]);
a(numIDX, :)
这会导致:
ans =
[4] 'noncancer'
[5] 'noncancer'
[2] 'cancer'
关于matlab - 通过与另一个数组进行比较来查找数组中的元素,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15220920/