Merging two arrays's
1 visualización (últimos 30 días)
Mostrar comentarios más antiguos
Joseph Buckley
el 28 de Nov. de 2016
Editada: Sean de Wolski
el 28 de Nov. de 2016
Hi,
So I have two arrays, say:
A={[1,2,3];[4,5];[]}
B={[6];[7,8,9];[10]}
and I would like to merge them to give:
C={[1,2,3,6];[4,5,7,8,9];[10]}
Is there a nice vectorised way to do this, or do I need to resort to for loops? (I will be calling this function >100000 times so quicker the better)/
Ideally I would like to ensure no value appears twice in the same row, i.e.: {[1,2,1];...} would not be allowed, however {[1,2];[1];..} would be allowed. However I could miss this part out if it would significantly slow down the code.
0 comentarios
Respuesta aceptada
Sean de Wolski
el 28 de Nov. de 2016
Editada: Sean de Wolski
el 28 de Nov. de 2016
cellfun(@horzcat,A,B,'UniformOutput',false)
If you want to ensure uniqueness, wrap a unique around the horzcat
cellfun(@(x,y)unique([x,y]),A,B,'UniformOutput',false)
0 comentarios
Más respuestas (0)
Ver también
Categorías
Más información sobre Shifting and Sorting Matrices 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!