我有向量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
循环,有没有办法这样做?
答案 0 :(得分:7)
res = c; %// copy c for the result vector
res(c) = a;
res(~c) = b;
使用logical indexing!这是有效的,因为0
中的c
元素数量与b
中的元素数量完全相等,1
元素的数量等于{a
元素的数量1}}。通过@Dan's comment