有没有办法通过让矢量重复来扩展矢量?
>v = [1 2];
>v10 = v x 5; %x represents some function. Something like "1 2" x 5 in perl
然后v10将是:
>v10
1 2 1 2 1 2 1 2 1 2
这应该适用于一般情况,而不仅仅适用于[1 2]
答案 0 :(得分:136)
您正在寻找的功能是repmat()
。
v10 = repmat(v, 1, 5)
答案 1 :(得分:6)
如果您知道要在哪个方向展开矢量,显然可以使用repmat。
但是,如果你想要一个总是在最长方向上重复向量的通用解决方案,那么repmat和indexing的组合应该可以解决这个问题:
v10=v(repmat(1:length(v),1,5))