八度/ Matlab:扩展一个向量,使其重复自己?
有没有办法通过重复自己来扩展向量?
>v = [1 2]; >v10 = vx 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]
你正在寻找的function是repmat()
。
v10 = repmat(v, 1, 5)
很明显,如果你知道在哪个方向扩展vector,repmat就是要走的路。
然而,如果你想要一个总是在最长的方向上重复向量的解决scheme,这个repmat和索引的组合应该可以做到这一点:
v10=v(repmat(1:length(v),1,5))