Cell Array referencing question
2 views (last 30 days)
Show older comments
Hello,
Suppose I have
A = {1 2}
A =
[1] [2]
and
B = {[1 2]}
B =
[1x2 double]
I am wondering, why are these different. Matlab Says A is a 1x1 cell, and B is a 1x2 cell. I am confused about what matlab is doing when it sees this and why it is being classified as such.
Accepted Answer
the cyclist
on 4 Jul 2014
Your first statement is syntactically equivalent to
A = {[1],[2]};
This is specifying that A is a 1x2 cell array, where the first element is the length-1 vector [1], and the second element is [2].
In your second statement,
B = {[1 2]}
you have specified that B is a 1x1 cell array, where the contents of that one cell is the 1x2 vector [1 2].
Does that help?
2 Comments
the cyclist
on 5 Jul 2014
Edited: the cyclist
on 5 Jul 2014
In your first example, B is the direct specification of a 1x2 cell array.
In your second example, {3} is a 1x1 cell array, {4} is a 1x1 cell array, and then C is the concatenation of those "horizontally", creating a 1x2 cell array.
Hence, the equivalence.
See Also
Categories
Find more on Cell Arrays in Help Center and File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!