使用特定偏移向左和向右扩展列向量以形成2D矩阵 - MATLAB

Ras*_*hid 2 matlab vector vectorization

我有一些随机长度的矢量,如,

a = [ 20
      78
      90
      180];

b = [ 54
      102
      1020];
Run Code Online (Sandbox Code Playgroud)

如何n = 3在每个元素之前和之后生成像整数一样的度量,如,

a1 = [17  18  19  20  21  22  23          b1 = [51   52   53   54   55   56   57
      75  76  77  78  79  80  81                99   100  101  102  103  104  105
      87  88  89  90  91  92  93                1017 1018 1019 1020 1021 1022 1023];
      177 178 179 180 181 182 183];
Run Code Online (Sandbox Code Playgroud)

没有任何循环,提前谢谢,

Div*_*kar 6

完美的设置为使用bsxfun@plus手柄-

n = 3;
a1 = bsxfun(@plus,a,-n:n)
b1 = bsxfun(@plus,b,-n:n)
Run Code Online (Sandbox Code Playgroud)

这里,-n:n作为总和(因为@plus)偏移数组.