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

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行求和,命令行窗口顯示出錯。這時需將單元數組轉化成數值數組,具體程序如下:

運行結果如下:

主站蜘蛛池模板: 广水市| 平山县| 项城市| 交城县| 牡丹江市| 达孜县| 边坝县| 湟中县| 两当县| 且末县| 洛南县| 福海县| 承德县| 巩留县| 大理市| 大理市| 肇东市| 东城区| 广河县| 茶陵县| 山阴县| 峨山| 三亚市| 于田县| 开封市| 隆化县| 马尔康县| 虹口区| 临泽县| 平度市| 三都| 胶南市| 武冈市| 谢通门县| 四子王旗| 镇原县| 天镇县| 扎兰屯市| 昆山市| 阜宁县| 岱山县|