unexpected response when trying to concatenate by row after accessing cell value
24 visualizaciones (últimos 30 días)
Mostrar comentarios más antiguos
Thomas
el 26 de Nov. de 2024 a las 11:32
I am trying to access the values in certain cells then concatenate the results together by row :
% initialise cell data for example
cells = cell(5, 1);
cells{1, 1} = [5 1];
cells{2, 1} = [4 1];
cells{3, 1} = [3 1];
cells{4, 1} = [2 1];
cells{5, 1} = [1 1];
% the code im trying to run
all_cells = [cells{1:5, 1};];
the result i get: 1x10 matrix [5,1,4,1,3,1,2,1,1,1]
what i am expecting to happen:
% my current workaround
cell_1=cells{1, 1};
cell_2=cells{2, 1};
cell_3=cells{3, 1};
cell_4=cells{4, 1};
cell_5=cells{5, 1};
y_folds = [cell_1; cell_2; cell_3; cell_4; cell_5;];
the result i expected: 5x2 matrix [5,1;4,1;3,1;2,1;1,1]
i also tried to use comma instead of semi-colon as such:
all_cells = [cells{1:5, 1},];
but i get the same result as with a semi-colon: 1x10 matrix [5,1,4,1,3,1,2,1,1,1]
0 comentarios
Respuesta aceptada
Stephen23
el 26 de Nov. de 2024 a las 12:25
Editada: Stephen23
el 26 de Nov. de 2024 a las 12:27
The MATLAB approach is to simply call VERTCAT instead of the concatenation operator:
C = {[5,1];[4 1];[3 1];[2 1];[1 1]};
M = vertcat(C{:})
Explanation of how this works:
The trailing semi-colon or comma in your code attempts do nothing whatsoever.
0 comentarios
Ver también
Categorías
Más información sobre Matrix Indexing 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!