CELL

matlab中的cell數據類型

單元數組(Cell Array)將類型不同的相關數據集成到一個單一的變數中,使得大量相關數據的引用和處理變得簡單方便;需要注意的是,單元數組僅僅是承載其他數據類型的容器,大部分的數學運算只是針對其中的具體數據進行的,而非針對單元數組本身進行。單元數組中的每一個元素稱為單元(cell),單元可以包含任何類型的數據,如數值數組、字元、符號對象,甚至於其他的單元數組。單元數組可以使不同類型和不同維數的數組可以共存,細胞型數組實際上可以認為是一種以任意形式的數組為分量的多維數組。

定義


1.細胞型數據的定義:
1)直接賦值定義:細胞型變數在定義時需要使用大括弧,元素用逗號隔開
例:B={1:4,A,‘abcd’}
2)使用cell函數,預先為細胞型變數定義空間
例:A=cell(m,n)定義一個空的m行n列的cell類型

函數


細胞型變數元素的引用應當採用大括弧作為下標的標示,用小括弧作為下標標示時將只顯示該元素的壓縮形式。
比如:A={1:4,2.5,‘abc’};
>>A
A=[1x4 double] [2.5000]'abc'
>>A(1,1)
ans=[1x4 double]
>>A{1,1}
ans=1 2 3 4
2)改變cell類型元素的值
>>A{1,2}=3:4
A=
[1x4 double] [1x2 double] 'abc'
>>A{1,2}
ans=3 4
3)刪除cell中的元素需要用A(1)=[] ,若使用A{1} =[]只能將該元素置空不能刪除
3.細胞型變數的函數
函數名說明
cell(m,n)創建一個m行n列的細胞型變數
cellfun('fun’,A)對細胞型變數A作用fun函數,fun可以為isreal,isempty,length,islogical,ndims等
celldisp(A)完全顯示細胞型變數的內容
cellplot(A)用圖形顯示細胞型變數的內容
num2cell將數值數組轉換為細胞型變數
deal輸入輸出處理
cell2struct將細胞型變數轉換為結構型變數
struct2cell將結構型變數轉換為細胞型變數
iscell判斷是否為細胞型變數
reshape改變細胞型數組的結構