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)

如果 x 是元胞数组对象,则返回 true。

另请参阅: ismatrix, isstruct, iscellstr, isa.


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

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