前言
Matlab中的cell數據類型有點類似於矩陣,不過它比矩陣更靈活,矩陣中的所有元素只能是同一種數據類型,而cell中的元素類型可以是不同的數據類型,幾乎涵蓋了matlab中的所有類型,比如說數值,字符,數組,struct甚至cell本身等。Cell應用很廣,你可以將其理解成一個排列順序的功能強大的結構體,可以用來存儲各種變量。
開發環境:Matlab2012a
實驗基礎
訪問cell中元素時,可以使用大括號或者小括號。如果使用大括號的話,則每個元素按照自己的形式賦值。如果采用小括號賦值,則所賦的值需要被大括號括起來。如果在終端直接輸入cell變量,則是看不到其內部值的,只能看到它的尺寸。需要看它的內容可以使用celldisp()函數。
本實驗就是構造1個2*2的cell,且它的每個元素的數據類型不相同,具體看實驗代碼。
實驗結果
cell a的顯示如下:

a{2,2}其實也是一個cell,其內容顯示如下:

實驗代碼及注釋:
a{1,1} = [1 2 3 4 5];
a{1,2} = {'I love';'中國'};
a{2,1} = [1+1*i,4*i];
%% number of layers
params.num_isa_layers = 2;
%% fovea sizes
fovea{1}.spatial_size = 16;
fovea{1}.temporal_size = 10;
fovea{2}.spatial_size = 20;
fovea{2}.temporal_size = 14;
params.fovea = fovea;
a{2,2} = params;
celldisp(a)
celldisp(a{2,2}.fovea)
參考資料:
http://ilovematlab.cn/thread-1741-1-1.html
