首页 文章

Octave / Matlab:扩展一个向量使其重复的向量?

提问于
浏览
86

有没有办法通过使矢量重复来扩展矢量?

>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]

2 回答

  • 134

    您正在寻找的功能是repmat() .

    v10 = repmat(v, 1, 5)
    
  • 6

    显然,如果您知道要向哪个方向扩展矢量,则可以使用repmat .

    但是,如果你想要一个总是在最长方向上重复向量的通用解决方案,那么repmat和indexing的这种组合应该可以解决问题:

    v10=v(repmat(1:length(v),1,5))
    

相关问题