unexpected response when trying to concatenate by row after accessing cell value
조회 수: 2 (최근 30일)
이전 댓글 표시
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
채택된 답변
Stephen23
2024년 11월 26일
편집: Stephen23
2024년 11월 26일
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
추가 답변 (1개)
참고 항목
카테고리
Help Center 및 File Exchange에서 Logical에 대해 자세히 알아보기
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!