在MATLAB中将子阵列索引转换为数组索引?

时间:2014-12-11 03:30:02

标签: matlab

想象一下,我有一个数组

A = [12 52 12 62 42];

使用"逻辑提取索引" C = logical([1 1 0 1 0]),我形成了一个子阵列

B = A(C);

问题

A中查找元素索引的优雅方法是什么,因为B中的索引是2?

2 个答案:

答案 0 :(得分:2)

以下是两个选项,可以查找B元素与A元素匹配的位置,如果A重复可能会失败,或者使用{{1} }矩阵,寻找第n个。

C

答案 1 :(得分:0)

find给出了答案。让indB表示B中的索引。然后,A中的索引(表示为indA)为

indA = find(C); %// find nonzeros in C
indA = indA(indB); %// take the indB-th nonzero in C