repeat a vector with a pattern

1 visualización (últimos 30 días)
Jeong Ho
Jeong Ho el 7 de Jul. de 2015
Editada: Azzi Abdelmalek el 7 de Jul. de 2015
I have a vector v=[1 2] and another vector (1 x n) k (e.g., [1 7 9]). I want to create a new vector,
[v+2*k(1) v+2*k(2) ... v+2*k(n)]
In the example, it would be [3 4 15 16 19 20].
How do I do this in matlab? I'd appreciate your help. Thank you very much in advance!
Best, John

Respuestas (1)

Azzi Abdelmalek
Azzi Abdelmalek el 7 de Jul. de 2015
Editada: Azzi Abdelmalek el 7 de Jul. de 2015
v=[1 2]
k=[1 7 9]
out=cell2mat(arrayfun(@(x) v+2*x,k,'un',0))
or
out=reshape(bsxfun(@plus,v',2*k),1,[])

Categorías

Más información sobre Get Started with MATLAB en Help Center y File Exchange.

Productos

Community Treasure Hunt

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

Start Hunting!

Translated by