前言
Matlab中的cell数据类型有点类似于矩阵,不过它比矩阵更灵活,矩阵中的所有元素只能是同一种数据类型,而cell中的元素类型可以是不同的数据类型,几乎涵盖了matlab中的所有类型,比如说数值,字符,数组,struct甚至cell本身等。Cell应用很广,你可以将其理解成一个排列顺序的功能强大的结构体,可以用来存储各种变量。
开发环境:Matlab2012a
实验基础
访问cell中元素时,可以使用大括号或者小括号。如果使用大括号的话,则每个元素按照自己的形式赋值。如果采用小括号赋值,则所赋的值需要被大括号括起来。如果在终端直接输入cell变量,则是看不到其内部值的,只能看到它的尺寸。需要看它的内容可以使用celldisp()函数。
本实验就是构造1个2*2的cell,且它的每个元素的数据类型不相同,具体看实验代码。
实验结果
cell a的显示如下:
a{2,2}其实也是一个cell,其内容显示如下:
实验代码及注释:
a{1,1} = [1 2 3 4 5]; a{1,2} = {'I love';'中国'}; a{2,1} = [1+1*i,4*i]; %% number of layers params.num_isa_layers = 2; %% fovea sizes fovea{1}.spatial_size = 16; fovea{1}.temporal_size = 10; fovea{2}.spatial_size = 20; fovea{2}.temporal_size = 14; params.fovea = fovea; a{2,2} = params; celldisp(a) celldisp(a{2,2}.fovea)
参考资料: