How to Access and Rename Doubles that are Stored in a Large Cell
조회 수: 1 (최근 30일)
이전 댓글 표시
I have a Cell that is 1x193. Each of the 193 elements is a 500x100 double.
I need to be able to access every element in this cell and rename each double to be Data1, Data2, Data3, etc. such that I can perform means on the rows of Data1, Data2, etc.
Does anyone have suggestions for how to accomplish this?
댓글 수: 2
Stephen23
2020년 2월 17일
"Does anyone have suggestions for how to accomplish this? "
Use indexing.
Creating/accessing numbered variables would be entirely the wrong way to go about this:
Indexing is simple, neat, and very efficient. Using numbered variables is a sign that you are doing something wrong.
답변 (1개)
Bhaskar R
2020년 2월 17일
You no need to rename every elecment(500x100 double) of the cell which leads much complications, you can perform your operation directly using command cellfun
result_mean = cellfun(@(x)mean(x, 2), cell_array, 'UniformOutput', false); % cell_array is your vartiable
You can access mean values of the data as
result_mean{1}, result_mean{2}..result_mean{193}; % for mean values of the each row of the double array
댓글 수: 5
Stephen23
2020년 2월 18일
Do NOT use datastore as a variable name, it is the name of an important inbuilt function.
Where C is your cell array, calculate the mean of each row:
A = cat(3, C{:});
M = mean(A,2)
It will have size 500x1x193. Use indexing to access particular pages, or permute or reshape to rearrange those dimensions. Avoid squeeze.
참고 항목
카테고리
Help Center 및 File Exchange에서 Data Type Conversion에 대해 자세히 알아보기
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!