If a=[1 2 3], b=[10 20 30], how to create c=[10 20 20 30 30 30]?
5 visualizaciones (últimos 30 días)
Mostrar comentarios más antiguos
Joshua
el 14 de Jul. de 2014
Editada: Roger Stafford
el 14 de Jul. de 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 comentarios
Respuesta aceptada
Alfonso Nieto-Castanon
el 14 de Jul. de 2014
c = cell2mat(arrayfun(@repmat,b,ones(size(a)),a,'uni',0));
2 comentarios
Más respuestas (2)
Roger Stafford
el 14 de Jul. de 2014
Editada: Roger Stafford
el 14 de Jul. de 2014
Another way:
t = accumarray(cumsum([1,a]).',1);
c = b(cumsum(t(1:end-1)));
2 comentarios
Ver también
Categorías
Más información sobre String Parsing en Help Center y File Exchange.
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!