基本巢狀陣列(Basic Usage of Cell Arrays)

巢狀陣列的使用方式與陣列類似,差異只在其使用的是大括弧,例如:

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

要存取巢狀陣列中的元素可以使用大括弧做為索引運算字,例如要取得 c 的第一個元素:

c{1}

輸出為

ans = a string

巢狀陣列與一般陣列一樣可以使用向量索引存取多個元素,例如:

c{1:2}

輸出為

ans = a string
ans =

   0.730203   0.099916
   0.864092   0.812627

索引運算子也可以用來新增巢狀陣列的元素,例如在巢狀陣列 c 中第三個位置新增一個元素 3:

c{3} = 3

輸出為

c =

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

     0.730203   0.099916
     0.864092   0.812627

  [1,3] =  3
}

關於更詳細的巢狀陣列索引說明可參考巢狀陣列索引。

在一般的情況下,巢狀陣列會以階層的方式輸出(就像上面的範例一樣),若是需要以索引的方式輸出可以使用 celldisp() 函數。

celldisp (c, name)

celldisp(c, name) 函數會以遞迴的方式輸出巢狀陣列 c,輸出時的名稱可以使參數 name 指定,若省略 name 參數則使用參數 c 做為輸出名稱。例如輸出上面所建立的巢狀陣列 c

celldisp(c)

輸出為

c{1} =

a string

c{2} =

   0.730203   0.099916
   0.864092   0.812627

c{3} =

 3
iscell (x)

iscell(x) 函數會判斷 x 是否為巢狀陣列,例如:

iscell(c)

輸出為

ans =  1
iscell(3)

輸出為

ans =  0