Cell array to matix
이전 댓글 표시
i have cell array of 1x112 cell
each cell consists of mx3 matix
i want to get all matix in the cell array as seprate martrix in workspace
댓글 수: 6
madhan ravi
2019년 1월 31일
So you want to convert cell array as one matrix or separate matrices?
Praveen Kumar Ramani
2019년 1월 31일
Praveen Kumar Ramani
2019년 1월 31일
madhan ravi
2019년 1월 31일
편집: madhan ravi
2019년 1월 31일
I guess you want to load the file so that the data appear in workspace if so then
load microtip % where microtip is the name of .mat file
Praveen Kumar Ramani
2019년 1월 31일
madhan ravi
2019년 1월 31일
OK , upload your data file,
Remark: As seen from the picture each cell has different matrix sizes.
Target: When you say separate matrix what do you want the size of each matrix to be , remember each should have the same size when concatenated along the third dimension. If you say it should have the same size as the original form then keeping it as cell is the only way. So your call..
답변 (2개)
You could try using:
M = {}; % Your cell
N = cat(3,M{:}); % Concatenate matrices along 3rd dimension
This will give you a single matrix rather than 112 separate matrices.
"i want to get all matix in the cell array as seprate martrix in workspace"
The follow-ups to that question will be how do I create the variable names dynamically, how do I loop over all these variables or something similar.
The answer: Don't do that. Your matrices are perfectly usable as they are. You don't need them as separate variables, it is much easier to keep them as a cell array. Dynamically creating 112 different variables would be madness. It would be slow, hard to debug and you wouldn't be able to use them efficiently.
If you explain what you want to do with these 112 matrices, we can show you how to use that cell array properly.
댓글 수: 2
Praveen Kumar Ramani
2019년 1월 31일
Guillaume
2019년 1월 31일
Trivially done with a cell array:
for i = 1:numel(Microtrips)
result = somefunction(Microtrips{i}) %call function with each matrix in turn.
%... some more code
end
카테고리
도움말 센터 및 File Exchange에서 Historical Contests에 대해 자세히 알아보기
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!