Octave: сохранение файлов в цикле

В настоящее время я работаю над проектом, который включает в себя длинные файлы csv. У меня есть цикл for, который разделяет разные значения в столбце времени, а затем находит максимум в каждом отрезке времени (для каждого момента времени существует много точек данных). Я хочу сохранить данные как .csv или .dat, но я могу сохранить только первое или последнее значение. Как я могу заставить октаву сохранять данные в новой строке при каждом проходе цикла?


person Andrew Kubicka    schedule 18.07.2016    source источник
comment
вы используете параметр -append, как описано в тексте справки dlmwrite()   -  person carandraug    schedule 19.07.2016


Ответы (1)


Если вы не слишком заинтересованы в записи в файл в каждом цикле, который обычно медленный, вы можете накапливать данные в переменной и записывать данные за один раз.

     X = []; 

     for i = 1:100,
          X = [X;i]; //instead of i you can use row vectors 
     end      

     save("myfile.dat",'X');     

А если вам нравятся циклы, используйте опцию '-append'.

      X = [];
      for i = 1 : 10,
        save("-append","myfile.dat",'i');
      end
person Xeqtr    schedule 20.07.2016