2014-04-29 158 views
-1

我有一個包含數字數據的矩陣。大小是31x48。我想爲此矩陣的每一行添加一個標籤。我能想到的最好方法是將我的矩陣轉換爲單元陣列,每行包含我的48個數據。將大矩陣轉換爲帶有標籤的單元陣列

我不確定如何對此進行編程,以便通過添加標籤(例如「第1天」)然後包含我的數據來遍歷每行。 我希望它看起來像下面這樣: 日1 30 30 30 30 30 ......] 日2 30 30 30 30 30 ...]等

我需要的標籤被分配到該行,以便當我將它分成兩組時,我知道哪些數據對應於哪一天。

+0

您是否曾經使用Matlab並知道其文檔? – Schorsch

回答

0

我們將從您的原始< 31x48>矩陣開始。我們叫它「墊」

mat=rand([31,48]) 

起初,我們轉換矩陣單元陣列

mat_cell=num2cell(mat,2) 

這將創建一個< 31x1細胞>。 mat_cell {day,1}會爲您返回當天數字的48個項目。現在我們將標籤添加到mat_cell的第二列(第一列包含您的< 1x48>數據)。假設我們有大小< 1x31的標籤名稱單元陣列>這樣

labels={'Day 1' ; 'Day 2' ; 'Day 3' ; ... 'Day 31'} 

然後

mat_cell(:,2)=labels 

應添加標籤mat_cell的每一行。然後

mat_cell{day,1} returns the <1x48> array for the 'day'. 
mat_cell{day,2} returns label for the 'day'. 

請注意:雖然這是很明顯的,標籤單元陣列應該有對應設置的列在原始墊陣列文本。