access cell array inside another cell array
이전 댓글 표시
Hi,
a short question, I just can't get it running:
I have a 1x94 cell array called A with 94 600x27 cell array inside. Now, as an example, I want to access the following value: 2nd row, 3rd column, 4th cell array. How can I do that?
I want to avoid a "temporary variable" as in:
temp=A{4} value=temp(2,3)
Many thanks, Steffen
댓글 수: 1
Sean de Wolski
2014년 10월 29일
Why do you have this data structure? What is the data and what are you trying to do? There might be a more efficient way.
채택된 답변
추가 답변 (1개)
N/A
2017년 5월 4일
3 개 추천
To access 2nd row column three of 4th cell try this code
temp = A{4}(2,3)
댓글 수: 2
monkeyquant
2023년 2월 3일
How about this case?
>> A = {3, 9, 'a';
'B', [2,4], 0};
>> A(:, 3)
% which spits out
ans =
2×1 cell array
{'a'}
{[0]}
Now I want to access entire row or columns values from this newly extractracted cell. I tried various approach but cause Error: Invalid array indexing. A couple of examples are below:
>> A(:, 3){:, 1}
>> A(:, 3){2, 1}
There is no direct way to do that. You need to either use a temporary variable or a helper function
A = {3, 9, 'a';
'B', [2,4], 0};
%temporary variable
A3 = A(:,3);
A3(2,:)
%helper function
SelectRow = @(object, row) object(row,:);
SelectRow(A(:,3), 2)
The helper function only has to be created once for each context, not for every different place you want to do this kind of indexing.
카테고리
도움말 센터 및 File Exchange에서 Operators and Elementary Operations에 대해 자세히 알아보기
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!