Cell Array, Example From Manual

1 view (last 30 days)
I'm working on an example in the fundamental manual. I'm note sure if I understand what is happening.
Create a cell array
C = {'one','two','three';1,2,3},
{'one'} {'two'} {'three'}
{[ 1]} {[ 2]} {[ 3]}
Create a subset of the cell array
upperLeft = C(1:2,1:2)
{'one'} {'two'}
{[ 1]} {[ 2]}
I tried to do as above in creating the subset. I was thinking the code below should copy the cell array but it gives an error. I'm not sure I'm understanding what is going on when I do this.
CopyArray = C(1:2,1:2,1:2)
Any help will be appreciated,
Thanks
D

Accepted Answer

James Tursa
James Tursa on 28 Apr 2020
Edited: James Tursa on 28 Apr 2020
The variable C is only a 2D variable having two dimensions. You have requested indexing into a third dimension
with that last 1:2, hence the error. Similar to doing this:
>> M = [1 2 3;4 5 6]
M =
1 2 3
4 5 6
>> M(2,3)
ans =
6
>> M(2,3,1:2)
Index exceeds matrix dimensions.
What was the expected result of what you tried? Maybe we can guide you to the correct syntax to get the result you wanted.
  4 Comments
James Tursa
James Tursa on 28 Apr 2020
Edited: James Tursa on 28 Apr 2020
Yes, C(1:2,1:3) is the subset of C containing rows 1-2 and columns 1-3 of C.
Darnell Gawdin
Darnell Gawdin on 28 Apr 2020
thanks for your help, I needed a little push.

Sign in to comment.

More Answers (0)

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!