2013-02-21 92 views
0

我是MatLab的新手,但我有一些C#的經驗。我有一個很大的數據集,我需要分解成464個單元陣列。我目前有一個循環將循環訪問數據集並創建一個單元格數組,但我無法弄清楚如何讓循環每次都創建一個新的單元格數組,而不是僅僅重寫相同的數據。這是我寫的循環。每創建一個新的單元陣列循環通過matlab

b=5476; 
    e=5840; 
    while(b<169360) 
    dataset2cell(JeaAddressKwh(b:e,1:97)); 
    b=e+1; 
    e=e+365; 
    end 

我曾嘗試以下,但每次我得到一個錯誤信息:

n=16; 
    b=5476; 
    e=5840; 
    while(b<169360) 
    n=dataset2cell(JeaAddressKwh(b:e,1:97)); 
    n+1; 
    b=e+1; 
    e=e+365; 
    end 

所以基本上我試圖得到儘可能的輸出在不同的單元陣列稱爲16到464。我將不勝感激任何幫助。謝謝。

回答

1

在第一個循環中,您不保存單元格數組,並在第二個循環中覆蓋之前的單元格數組並嘗試向其中添加1,而不保存結果。

嘗試這樣:

n=cell(16,1); 
    b=5476; 
    e=5840; 
    i = 1; 
    while(b<169360) 
     n{i}=dataset2cell(JeaAddressKwh(b:e,1:97)); 
     i = i+1; 
     b=e+1; 
     e=e+365; 
    end 
+0

謝謝你,這麼多!這確實奏效。 – user2093732 2013-02-21 03:45:49