2 回答

TA貢獻1788條經驗 獲得超4個贊
cell元包是matlab中提供的一種數據類型,功能強大。 關于cell的創建: 1.跟一般創建舉證一樣,直接使用C = {A B D E}這種形式,不過這里把"[]"改成了}"{}" 2.使用cell創建cell,C= {C1 C2},這里C1和C2都是cell類型,直接把C1 C2作為一個cell得到的...

TA貢獻2037條經驗 獲得超6個贊
1、什么是單元陣列?
單元陣列又叫cell(元胞)陣列,以前見過“元胞數組”一詞,其實是可以理解成陣列的,比如二維數組,可以理解成2行n列的矩陣或陣列。
2、單元/元胞陣列是如何構成的呢?
我們都熟悉陣列或矩陣的構成,比如一個m*n大小的矩陣,那么它有m行、n列,共有m*n個元素。如果我們只在實數范圍內考慮,那么對應的每一個元素就是一個實數,這是一般的實矩陣。單元陣列也可以有m行n列,對應有m*n個元素。所不同的是單元陣列中每個元素是一個cell(元胞),而每個cell可以由不同數據格式的矩陣構成,構成每個cell的矩陣大小也可以不同,可以是一個元素,也可以是一個向量,也可以是一個多維數組。
3、如何創建一個單元陣列?
可使用cell函數創建一個空的單元陣列,具體可參考MATLAB中 help cell內容。也可以使用大括號創建,比如我們要創建一個1x3的單元陣列c,則c={A sum(A) prod(prod(A))},可以把A設為一個向量,具體各cell數據類型讀者可以用c{1}/c{2}/c{3}讀出來然后使用whos函數自己驗證。其中prod是求積,若A為一個數組(或一維向量),則一個prod后即可求出所有元素之積,第二個prod則還為原結果。若A為一個矩陣,則第一個prod后針對各列求積,結果保留為一個數組,第二個prod則對該數組所有元素再求積,那么兩個prod的結果即為對矩陣所有元素求積。
4、什么是結構體及其構成?
結構體可以理解為一種特殊的數據類型。一個結構體有若干結構變量或者域構成。每個結構變量/域類似于一個cell,結構變量可以由不同數據類型的數組構成,比如字符串、整型、浮點數……。此處只是可以借用cell的形式來理解結構變量,但二者絕不等同。
5、如何創建結構體?
可以使用struct函數創建結構體。我們定義結構體為str_array,
則str_array=struct('field1',val1,'field2',val2,……),其中field1、field2為域名,val1、val2為具體值。
6、單元陣列與結構體的不同之處。
結構體(也可稱為結構體陣列)中可以使用域名來訪問數據,而在單元陣列中則使用矩陣的索引操作。
- 2 回答
- 0 關注
- 1538 瀏覽
添加回答
舉報