细胞型(有的书上称单元)数据是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} =
[]
删除cell中的元素
需要用A(1)=[] ,若使用A{1} =[]只能将该元素置空不能删除
>> A
A =
[1x4 double] [1x2 double] 'abc'
>> A(2) = []
A =
[1x4 double] 'abc'
>> A{2} = []
A =
[1x4 double] []