我正在尝试制作重复矩阵。并且一个条件是元素随着每个重复步骤而增加。
例如,
使用[a b]
,我想制作多个数组,例如[a b a+D b+D a+2D b+2D a+3D b+3D]
和[a b a b a+C b+C a+C b+C]
。 (C
和D
不变)
由于消除循环是必不可少的,是否有任何特殊功能(如repmat
)或技巧来制作这种矩阵?
答案 0 :(得分:4)
使用repmat
和reshape
的组合,您可以按如下方式实现:
A = [1 2];
n = 5;
D = 10;
B = reshape(repmat(A(:), 1, n) + D*(0:(n-1)), 1, [])
pre 2016b (不允许隐式扩展)
B = reshape(bsxfun(@plus, repmat(A(:), 1, n), D*(0:(n-1))), 1, [])