Replicating a vector while summing an increasing value

I have this vector: a = [ 7 8 9 7 8 9]; and I would like to obtain the following vector:
b= [ 7 8 9 7 8 9; 17 18 19 17 18 19; 27 28 29 27 28 29; 37 38 39 37 38 39 ...]
I am replicating the vector and then summing 10 for each line (for n lines). I would like to do this without using loop iterations. How can I do it? Thank you so much.

 Respuesta aceptada

This works:
a = [ 7 8 9 7 8 9];
n = 4;
b = bsxfun(@plus, a, [0:10:n*10]');

2 comentarios

Jose Luis
Jose Luis el 19 de Sept. de 2015
Thank you, all the answers works
My pleasure.

Iniciar sesión para comentar.

Más respuestas (2)

Try this:
a=[7,8,9,7,8,9]
n = 8; % Whatever you want.
firstColumn = (0:10:10*(n-1))'
b = repmat(firstColumn, [1, length(a)]) + repmat(a, [n, 1])

Categorías

Más información sobre Loops and Conditional Statements en Centro de ayuda y File Exchange.

Etiquetas

Preguntada:

el 19 de Sept. de 2015

Comentada:

el 19 de Sept. de 2015

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by