0

问题

假设我有两个任意长度的向量。让我们打电话pattern给另一个series。现在我想以自动方式将我的重复添加pattern到我的。series

通常可以假设它pattern比 短series,但如果另一种方法也有效,那就太好了。pattern在这种情况下,应该只使用前几个值。

例子

pattern = 1:3;
series = 1:10;

应该给

 2     4     6     5     7     9     8    10    12    11

到目前为止我发现了什么?

我四处寻找,但没有找到一种优雅的方式来实现我想要的。

  • 我发现使用的最简单的解决方案padarray,但是我没有这个可用的
  • 我自己的解决方案,我不认为是优雅的,是使用repmat重复图案足够的次数,然后切割结束。
4

1 回答 1

4

您可以使用索引而不是 repmat:

result = series + pattern([mod(0:(numel(series) - 1), numel(pattern)) + 1]);
于 2013-03-21T11:16:15.963 回答