Begtostudy(白途思)'s Professional Technology Blog

欢迎访问begtostudy的专业知识博客!主要是专业技术和算法为主。
  首页  :: 联系 :: 订阅 订阅  :: 管理

细胞型(单元)数据 cell [z]

Posted on 2010-08-12 15:38  白途思  阅读(380)  评论(0编辑  收藏  举报

细胞型(有的书上称单元)数据是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' 

前往Begtostudy的编程知识博客(CSDN)