Matlab:單元數組 matlab中定義數組

2023-11-30

一、知識點 1、單元數組的定義: 

單元數組是一種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、每天要好好安排學習時間,不要多也不要少,用有限的時間創造最大的收益。

 

 

 

【本文地址】