有没有办法通过使矢量重复来扩展矢量?
>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]
您正在寻找的功能是repmat() .
v10 = repmat(v, 1, 5)
显然,如果您知道要向哪个方向扩展矢量,则可以使用repmat .
但是,如果你想要一个总是在最长方向上重复向量的通用解决方案,那么repmat和indexing的这种组合应该可以解决问题:
v10=v(repmat(1:length(v),1,5))
2 回答
您正在寻找的功能是repmat() .
显然,如果您知道要向哪个方向扩展矢量,则可以使用repmat .
但是,如果你想要一个总是在最长方向上重复向量的通用解决方案,那么repmat和indexing的这种组合应该可以解决问题: