MATLAB: How to extend a row vector down in increasing values

arrayextensionMATLABvector

Say I have the vector
a = [4 5 6];
How can I make the vector into
[4 5 6
5 6 7
6 7 8
7 8 9
...]
where each column increments by some constant amount? The number of initial values nor the number of new rows are constant.

Best Answer

The bsxfun function is perfect for this:
a = [4 5 6];
N = 5; % Desired Row Lenth
Out = bsxfun(@plus, a, [0:N]')
Out =
4 5 6
5 6 7
6 7 8
7 8 9
8 9 10
9 10 11