gpt4 book ai didi

matlab - 通过将数组与另一个数组进行比较来查找数组中的元素

转载 作者:行者123 更新时间:2023-12-02 05:12:23 25 4
gpt4 key购买 nike

我有一个矩阵

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/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com