31 lines
791 B
Matlab
31 lines
791 B
Matlab
clear
|
|
|
|
% cell arrays are like n-dimensional arrays, but have hetergeneous
|
|
% data-types inside
|
|
|
|
a = {'p'};
|
|
v = {1 'a'};
|
|
D = {1 2; 't' [1 2]};
|
|
|
|
% like vectors, scalars, and matrices, cell arrays are two-dimensional
|
|
% by default
|
|
assert(ndims(a) == 2);
|
|
assert(ndims(v) == 2);
|
|
assert(ndims(D) == 2);
|
|
|
|
% indexing a cell array follows the same rules, and returns another cell
|
|
% array (like indexing a matrix returns a matrix, remember that scalar
|
|
% are 1x1 matrices
|
|
assert(all(size(D(2, 2)) == [1 1]));
|
|
|
|
% to unbox the cell values, index with {} instead of ()
|
|
% this will return a matrix instead of a cell
|
|
assert(D{2,1} == 't');
|
|
assert(all(D{2, 2} == [1 2]));
|
|
|
|
% equality check:
|
|
cs = {1+3 2};
|
|
assert(isequal(cs, {4 2}));
|
|
|
|
% convert cell array to standard array
|
|
assert(isequal(cell2mat(cs), [4 2])); |