MATLAB 程式設計/陣列/元胞陣列
外觀
< MATLAB 程式設計 | 陣列
元胞陣列可以在每個元素中包含不同的資訊。這些型別的陣列在與電子表格軟體互動時非常有用。
元胞陣列遵循與普通陣列相同的約定,只是使用花括號而不是方括號。
array = [1, 2, 3; 4, 5, 6];
cell_array = {1, 2, 3; 4, 5, 6};
元胞陣列比普通陣列的限制更少。普通陣列可以儲存字串;但是,每個元素中的字串必須具有相同的長度。如果普通陣列中的一個元素是字串,那麼所有元素都必須是字串。元胞陣列沒有這些限制。
cell_array = {1, 2, 'a', 'abc'; rand(3, 2), magic(3), eye(3), 'junk'}
cell_array =
[ 1] [ 2] 'a' 'abc'
[3x2 double] [3x3 double] [3x3 double] 'junk'
元胞陣列的內容限制更少,但也帶來了複雜性。雖然元胞陣列是一個強大的工具,但這些陣列的工作方式不同,因為每個元素幾乎可以是任何東西。
元胞陣列可以動態調整大小,這是更高階資料結構中的一個關鍵特徵。例如,使用以下命令的佇列資料結構
cell_array{end+1}='a';
cell_array{end+1}='b';
可以使用以下命令從佇列的前面彈出元素
cell_array(1)=[]; % remove first element - resize cell_array(1)=[]; % remove first element - resize
在將表格顯示到圖形時,使用元胞陣列。
uitable('Data',{'hello',1;2,'there'})
使用num2cell從數值陣列轉換為元胞陣列。
>> cell_array = num2cell(numeric_array);
使用cell2mat從元胞陣列轉換為數值陣列。
>> numeric_array = cell2mat(numeric_cell_array);