單元數組是一種Matlab數組,它的每一元素是單元,在單元里可以保存各種類型的Matlab數組。例如:複數向量、實數矩陣、單元數組、結構數組、文本字元串數組等。
2、單元數組的創建:1)可以通過對單元數組的賦值來創建單元數組,也可以對單元數組的預分配來創建。
(常見的創建單元空矩陣的語句有:C=cell(n) —— 建立n階單元空方陣
C=cell(m,n) ——建立m*n單元空矩陣
C=cell(size(A)) ——建立與矩形A同維的空單元矩陣
)
2)單元數組的賦值可以通過兩種方式來進行:
1))下標索引【較為麻煩】:用圓括弧內的下標數來顯示單元號,在等式右端用花括弧把單元的內容括起來。
2))單元索引【推薦】:將單元數組的單元號用花括弧括起來,在等式右側寫入單元的內容
特殊情況:當要將單元數組賦給另一單元數組的某一單元中(稱這種現象叫嵌套的單元數組或單元數組的子集),可以通過兩次單元索引進行賦值。
3、單元數組的顯示:在Matlab命令窗口中直接輸入單元數組的名稱,回車后顯示單元數組的結構;輸入celldisp(名稱),則顯示單元數組全部內容;
輸入cellplot(名稱),用圖形顯示單元數組的結構圖。
4、單元數組的刪除和改寫:假設存在單元數組A,它是6*6單元空方陣
1)刪除A中元素A(1,4)的操作是:輸入命令行A(1,4)={[ ]}或A{1,4}=[ ]
2)改寫A為4行9列空單元數組B:輸入命令行B=reshape(A,4,9)
3)截取A的4~6列得單元數組C:輸入命令行C=B(:,4:8)
5、單元數組的運算:單元數組中的數值矩陣仍符合數值矩陣的運算規則,字元數組同理(可以使用strvcat、strcat函數等)
二、實例演練1、
(附加題:使用celldisp和cellplot函數顯示A的相關信息)
2、
1、今天正好高代學習了矩陣,今天的Matlab就用上了,同時我又趕緊了解了前面的魔方矩陣和Pascal矩陣的定義和一些性質,覺得這玩意兒很有意思(它成功引起了 我的注意)。
2、Matlab對於單元數組的定義與c++有所不同,Matlab的單元數組允許不同類型的數據類型同時存入,c++只允許一種類型的數據多次輸入(可能本人知識有限,總結有所疏漏,還請諒解。)
3、每天要好好安排學習時間,不要多也不要少,用有限的時間創造最大的收益。