Matlab:将零一指数向量改为适当的索引向量

时间:2013-11-30 13:01:57

标签: matlab indices

假设一个二进制索引向量,如下面

输入

1 1 0 0 1 0 1

1 2 3 4 5 6 7

预期输出

1 2 5 7

表示要选择的n个数字。所以我想将1 1 0 0 1 0 1更改为1 2 5 7,这有什么简单方法吗?

2 个答案:

答案 0 :(得分:2)

如果您确实想使用输出来索引另一个矢量,请直接进行。

您只需将二进制向量转换为logical

即可
A = [1 1 0 0 1 0 1];    %assuming its double
B = [1 2 3 4 5 6 7];

C = B( logical(A) )

C =

     1     2     5     7

答案 1 :(得分:1)

解决方案是使用函数find(indicesBinary)