每次循环在matlab中循环时创建一个新的单元格数组

时间:2013-02-21 02:47:26

标签: arrays matlab dataset cell cell-array

我是MatLab的新手,但我对C#有一些经验。我有一个大型数据集< 169360x97>我需要分解成464个单元阵列。我目前有一个循环,它将遍历数据集并创建一个单元格数组,但我无法弄清楚如何让循环每次创建一个新的单元格数组,而不是只重写相同的数据。这是我写的循环。

    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 个答案:

答案 0 :(得分: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