官术网_书友最值得收藏!

3.2 單元數組

單元數組又稱細胞數組(Cell Array),其基本元素是細胞,每個細胞可以存儲不同類型、不同維數的數據。

3.2.1 單元數組的創建

單元數組中不同位置可有不同數據類型,它可以有數字、字符串組成,其創建方法有以下幾種。

1.使用大括號{}直接創建

例如:

2.對細胞元素直接賦值創建

【例3-1】 創建一個學生的各科成績單元數組。

運行結果如下:

3.利用函數cell創建一個大小合適的空矩陣

【例3-2】 創建2×3的細胞數組。

注:該方法首先使用cell()函數定義一個單元數組。此時,數組的各元素還沒有定義,因此所顯示的單元數組中元素都用空陣[]來表示。然后,依次輸入單元數據中各元素的值,可以發現,每輸入一個值,用相應的值代替空陣。

3.2.2 單元數組的顯示

1.celldisp()函數

例如,對【例3-2】中的細胞數組C,執行命令:

顯示結果如下:

2.cellplot()函數

例如,對【例3-2】中的細胞數組C,繼續執行命令:

顯示結果如圖3-1所示。

圖3-1 單元型變量的結構

3.2.3 單元數組的內容獲取

為了獲取單元數組中一個單元的值,可使用大括號。例如,對【例3-2】中的數組C,執行命令:

實際上,C{1}相當于C{1,1},C{2}相當于C{2,1},C{3}相當于C{1,2}。注意大括號與小括號的不同,大括號用于表示單元而不考慮這些單元的值,而小括號用于尋址單元的值。例如:

3.2.4 單元數組的數據處理

MATLAB的單元數組在進行統計分析時,不能直接使用計算統計量的函數,而必須將單元數組中單元的數值轉化成數值向量,然后進行數值計算。

例如,對【例3-1】中形成的數組,計算這個學生的總成績。

由于數組B的顯示結果為:

若直接對B的第2行求和,命令行窗口顯示出錯。這時需將單元數組轉化成數值數組,具體程序如下:

運行結果如下:

主站蜘蛛池模板: 辽阳市| 枣强县| 西充县| 宁强县| 靖远县| 澳门| 景东| 大丰市| 盐城市| 柞水县| 色达县| 共和县| 临湘市| 东源县| 牙克石市| 阿城市| 桃园市| 封开县| 七台河市| 吐鲁番市| 镇康县| 永宁县| 广州市| 鄢陵县| 孝义市| 封丘县| 嘉兴市| 宁陕县| 永德县| 吴忠市| 怀集县| 绿春县| 密云县| 宝清县| 沂水县| 晋宁县| 敦煌市| 衡山县| 松滋市| 怀化市| 夏邑县|