细胞型(有的书上称单元)数据是matlab的一种特殊数据类型,它比较灵活,可以存储不同的数据类型(字符、数值)和不同维数的数组。
有两种方法创建:
1、赋值语句:把数值直接赋值给单元,如:
内容索引 变量的下标用大括号{}括起来
a{1,1} = [1 2 3 4 5];
a{1,2} = {'中国';'yunnan'};
a{2,1} = [1+1*i,4*i]
单元索引 单元中的数据用大括号{}括起来,单元的下标用普通下标
a(1,1) = {[1 2 3 4 5]};
a(1,2) = {{'中国'; 'yunnan'}};
a(2,1) = {[1+1*i;4*i]}
2、用函数cell :cell函数指定单元的大小,创建后可以对它赋值
a = cell(2,2)
查看单元的内容
>> a
a =
[1x5 double] {2x1 cell}
[2x1 double] []
上述只显示数据的结构,如果要显示内容利用celldisp
>> celldisp(a)
a{1,1} =
1 2 3 4 5
a{2,1} =
1.0000 + 1.0000i
0 + 4.0000i
a{1,2}{1} =
中国
a{1,2}{2} =
yunnan
a{2,2} =
[]
对容易搞混淆的{},[],()总结如下
1)a = {'sy1', 'sy2', 'sy3'}; a 为1*3cell
2) b = a b为1*3cell
3) b = [a] b为1*3cell
4) b = {a} b为1*1cell,b为只有一个元素的cell,且这个元素还是一个1*3cell
5) c = b(1) c为1*1cell
6)d = b{1} d为1*3cell
7)d{1} d{1}为'sy1'