If a=[1 2 3], b=[10 20 30], how to create c=[10 20 20 30 30 30]?
5 Ansichten (letzte 30 Tage)
Ältere Kommentare anzeigen
Joshua
am 14 Jul. 2014
Bearbeitet: Roger Stafford
am 14 Jul. 2014
The b matrix i'th element is repeated the number of times the given number in 'a' matrix and placed in matix 'c'. Also if a=[0 1 2], b=[10 20 30] how to get c=[20 30 30]??
0 Kommentare
Akzeptierte Antwort
Alfonso Nieto-Castanon
am 14 Jul. 2014
c = cell2mat(arrayfun(@repmat,b,ones(size(a)),a,'uni',0));
2 Kommentare
Weitere Antworten (2)
Roger Stafford
am 14 Jul. 2014
Bearbeitet: Roger Stafford
am 14 Jul. 2014
Another way:
t = accumarray(cumsum([1,a]).',1);
c = b(cumsum(t(1:end-1)));
2 Kommentare
Siehe auch
Kategorien
Mehr zu String Parsing finden Sie in Help Center und File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!