repeat a vector with a pattern

1 回表示 (過去 30 日間)
Jeong Ho
Jeong Ho 2015 年 7 月 7 日
編集済み: Azzi Abdelmalek 2015 年 7 月 7 日
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

回答 (1 件)

Azzi Abdelmalek
Azzi Abdelmalek 2015 年 7 月 7 日
編集済み: Azzi Abdelmalek 2015 年 7 月 7 日
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,[])

カテゴリ

Help Center および File ExchangeGet Started with MATLAB についてさらに検索

製品

Community Treasure Hunt

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

Start Hunting!

Translated by