6.3.1元胞数组的基本用途

例如,以下代码创建一个包含跨步和2乘2随机矩阵的元胞数组

c = {"a string", rand(2, 2)};

若要访问元胞数组的元素,可以使用{和}运算符对其进行索引。因此,上一个示例中创建的变量可以按如下方式进行索引:

c{1}
     ⇒ ans = a string

与数字数组一样,可以通过使用索引向量进行索引来提取元胞数组的几个元素

c{1:2}
     ⇒ ans = a string
     ⇒ ans =

               0.593993   0.627732
               0.377037   0.033643

索引运算符也可以用于插入或覆盖元胞数组的元素。以下代码将标量3插入到先前创建的元胞数组的第三位

c{3} = 3
     ⇒ c =

         {
           [1,1] = a string
           [1,2] =

              0.593993   0.627732
              0.377037   0.033643

           [1,3] =  3
         }

有关索引元胞数组的详细信息,详见Indexing Cell Arrays.

通常情况下,嵌套元胞数组按层次显示,如前面的示例所示。在某些情况下,通过索引引用它们是有意义的,这可以通过celldisp作用

 
: celldisp (c)
: celldisp (c, name)

以递归方式显示元胞数组的内容。

默认情况下,值与变量的名称一起显示c。但是,此名称可以替换为变量name。例如:

c = {1, 2, {31, 32}};
celldisp (c, "b")
   ⇒
      b{1} =
       1
      b{2} =
       2
      b{3}{1} =
       31
      b{3}{2} =
       32

详见: disp.

广告

若要测试对象是否为元胞数组,请使用iscell作用例如

iscell (c)
     ⇒ ans = 1

iscell (3)
     ⇒ ans = 0

 
: tf = iscell (x)

如果返回truex是一个元胞数组对象。

详见: ismatrix, isstruct, iscellstr, isa.

广告

版权所有 © 2024-2025 Octave中文网

ICP备案/许可证号:黑ICP备2024030411号-2