Effacer les filtres
Effacer les filtres

repeat a vector with a pattern

1 vue (au cours des 30 derniers jours)
Jeong Ho
Jeong Ho le 7 Juil 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

Réponses (1)

Azzi Abdelmalek
Azzi Abdelmalek le 7 Juil 2015
Modifié(e) : Azzi Abdelmalek le 7 Juil 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,[])

Catégories

En savoir plus sur MATLAB dans Help Center et File Exchange

Produits

Community Treasure Hunt

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

Start Hunting!

Translated by