基于一维矩阵的{3}矩阵的逻辑索引

时间:2015-05-18 14:29:43

标签: arrays matlab multidimensional-array indexing

我在Matlab中有一个 450 -by- 1000 -by- 3 double,它由19个明显重复的唯一值组成很多时间。我们称之为A

让我们假装其中一些数字是10,20和30.我将这些数字存储在B中,这样B就是 3 -by- 1

现在,我真的非常想吐出一个与A尺寸相同的新矩阵( 450 -by- 1000 -by- 3 )但1找到10,20和30,0与这3个数字不同。

我已经查看了逻辑索引和find,但我一直在撞墙。使用一个数字执行此操作很简单,但使用数组以某种方式执行此操作似乎不起作用。即使有一个循环。

1 个答案:

答案 0 :(得分:2)

方法1 :按照Dan的建议使用ismember

result = ismember(A, B);

方法2 :使用bsxfun

result = any(bsxfun(@eq, A, reshape(B,1,1,1,[])), 4);