2013-02-21 94 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