Cell Array indexing and manipulating
2 Ansichten (letzte 30 Tage)
Ältere Kommentare anzeigen
Rick
am 2 Aug. 2014
Kommentiert: Image Analyst
am 2 Aug. 2014
The following code is entered in the command window:
A = {'Cal', 'Golden', 'Bears', [5 7], {[1 2 3 4]}};
Enter a single-line command the extract the number 3 from A
A{5}{1}(3)
Hello, I am confused about this problem. Why wouldn't the answer be A{5}{3} ??
1 Kommentar
Image Analyst
am 2 Aug. 2014
Have you read the FAQ: http://matlab.wikia.com/wiki/FAQ#What_is_a_cell_array.3F It should give you an intuitive appreciation for cell arrays.
Akzeptierte Antwort
Geoff Hayes
am 2 Aug. 2014
Rick - try the code in steps. Start with
A{5}
The above returns the fifth element of the cell array A as
ans =
[1x4 double]
But what is the data type and size? Try
class(A{5})
ans =
cell
size(A{5})
ans =
1 1
So it is a 1x1 cell array. So trying to use
A{5}{3}
will result in the Index exceeds matrix dimensions error as 3 is not a valid index into the 1x1 cell array. Now try
A{5}{1}
and determine its type and dimension as
class(A{5}{1})
ans =
double
size(A{5}{1})
ans =
1 4
It is a 1x4 array of doubles, and so we can access the 3 as
A{5}{1}(3)
Note in the above how we use the curly braces {} for cell arrays, and brackets () for non-cell arrays.
0 Kommentare
Weitere Antworten (1)
Andrei Bobrov
am 2 Aug. 2014
Bearbeitet: Andrei Bobrov
am 2 Aug. 2014
A = {'Cal', 'Golden', 'Bears', [5 7], {1 2 3 4}};
A{5}{3}
or
>> A = {'Cal', 'Golden', 'Bears', [5 7], [1 2 3 4]};
>> A{5}(3)
ans =
3
>>
1 Kommentar
Siehe auch
Kategorien
Mehr zu Matrix Indexing finden Sie in Help Center und File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!