Access data from a cell array
이전 댓글 표시
I have a cell array of 1x10 where each of the 10 arrays are matrices of 138x18. If I want to access the data of each of the cells but just want to calculate the sum of (138,1) and (138,2) from each arrays then how do I calculate and how can I access it?
I tried below to get access through the cell as shown below:
x- 1x10 cell- 138x18 double
X=x{1,10};
m_Au_A1=X(:,1);
m_Au_V1=X(:,2);
I want to calculate the sum of (138,1) and (138,2) from each arrays of cell. How that can be done? Any help would be really appreciated. Thank you in advance.
댓글 수: 3
Devanuj Deka
2021년 7월 14일
I am a bit confused. You mentioned that 'I want to calculate the sum of (138,1) and (138,2) from each arrays of cell'. But in the code you tried:
X=x{1,10};
m_Au_A1=X(:,1);
m_Au_V1=X(:,2);
Here in 'm_Au_A1' you extracted the entire first column of the array in the 10th cell of the 1x10 cell array.
Do you want the sum of the first two elements of the 138th row in each array? Or do you want the a column vector containing the element wise sum of the entire first and second column in each array?
Rajvi Amle
2021년 7월 14일
Devanuj Deka
2021년 7월 15일
Thanks for clarifying @Rajvi Amle. I have posted an answer with a solution, please check if this is what you wanted.
채택된 답변
추가 답변 (1개)
Let us create a random data.
random_data_cell=arrayfun(@(x) rand(138,18), 1:10, 'uni',0);
Let merge these data set in a matrix.
random_data_matrix=cat(3,random_data_cell{:});
size(random_data_matrix)
% "I want to calculate the sum of (138,1) and (138,2) from each arrays of cell."
sum_of_138_1=sum(random_data_matrix(138,1,:))
sum_of_138_2=sum(random_data_matrix(138,2,:))
댓글 수: 2
Rajvi Amle
2021년 7월 14일
If you want to calculate the element wise sum, you can do it using the sum commands.
random_data_cell=arrayfun(@(x) rand(138,18), 1:10, 'uni',0);
random_data_matrix=cat(3,random_data_cell{:});
output=sum(random_data_matrix,3);
output
size(output)
If this is not the expected output, please let us know the dimension of your expected output. What would be the dimension of the output you are expecting?
카테고리
도움말 센터 및 File Exchange에서 Logical에 대해 자세히 알아보기
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!