Dim*_*i C 4 matlab vector vectorization
我有载体a,b和c; 向量a并b包含整数,而向量c具有二进制值作为元素:(0,1).
向量a长度为n,向量b长度为k.矢量c长度为n + k.
我想连接向量a并b基于向量c.
例如.如果c=[1 0 0 1 0 . . . . ]那时我想创建矢量res=[a(1) b(1) b(2) a(2) b(3) . . . ].
没有for循环,有没有办法这样做?
res = c; %// copy c for the result vector
res(c) = a;
res(~c) = b;
使用逻辑索引!这是有效的,因为0元素的数量c正好等于元素b的数量,1元素的数量等于元素的数量a.索引的逻辑运算符归功于@ Dan的评论