根据二进制矩阵创建矩阵

时间:2014-10-18 18:01:33

标签: matlab octave

我来了

A = [1, 2, 3]

B = [1, 0, 0, 1, 0, 1]

我想创建一个矩阵

C = [1, 0, 0, 2, 0, 3]

您可以看到B就像一个面具,B中的数量等于A中的元素数量。我想要的是将A中的元素排列到B1的地方。

没有循环的任何方法?

1 个答案:

答案 0 :(得分:3)

未经测试,但应该关闭:

C = zeros(size(B));
C(logical(B)) = A;

这取决于logical indexing