巢狀陣列的使用方式與陣列類似,差異只在其使用的是大括弧,例如:
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