基本巢狀陣列(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