Combining Data from different Cells in a cell array
5 visualizaciones (últimos 30 días)
Mostrar comentarios más antiguos
So I've been hunting through the answer community, and I have yet to find what I'm looking for. What I'm attempting to do is combine 2 cell arrays so that the cells actually merge together, without using a for loop. What I have are two large cell arrays, one that contains the x coordinates and another that contains the y coordinates. I would like to put them together so that each cell contains both the x and y in two serperate columns.
For example
xcoordinate = {[1;2;3],[3;4;5;6]} %cell array with column vectors in each cell
ycoordinate = {[8;9;10],[12;16;17;10]} %cell array with column vectors in each cell
What I would like the product to be Without using a For loop is:
XYcoordinates = {[1 8;
2 9;
3 10]
[3 12;
4 16;
5 17;
6 10]}
It needs to be in this format with the [x y] sitting next to each other for a function I want to use with cellfun. If you have any suggestions, I would greatly appreciate it. Thanks!
-Michelle
1 comentario
Jan
el 30 de Jul. de 2013
Why do you want to avoid a FOR loop? Most likely the the cellfun appraoch is slower, so I do not see the benefit.
Respuesta aceptada
Más respuestas (2)
Jan
el 30 de Jul. de 2013
Why do you want to avoid a FOR loop? Most likely the the cellfun approach is slower, so I do not see the benefit. So compare the speed:
XYCoordinate = cell(size(xcoordinate));
for iC = 1:numel(xcoordinate)
XYCoordinate{iC} = [xcoordinate{iC}, ycoordinate{iC}];
end
Ver también
Categorías
Más información sobre Data Types 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!