Я определил класс Results, который должен содержать результаты определенной операции. Я выполняю эту операцию 10 000 раз и добавляю результат в класс результатов.
Поскольку эта операция выполняется медленно, для предотвращения потери данных я каждый раз сохраняю временные результаты (то есть я вызываю save('tempResults.mat', 'obj') внутри метода в моем классе)
Проблема в том, что я каждый раз пишу с нуля весь класс. Но к 5000-му разу класс уже ~1 Gb большой. Бесполезно записывать 1 Гб данных 10 000 раз, особенно когда в классе изменяется только что-то небольшое.
Как мне это решить? По-видимому, функция сохранения в Matlab не поддерживает это. Я также могу написать пользовательскую функцию сохранения для своего класса (сохраняя отдельно некоторые матрицы и векторы, а затем загружая их снова, когда придет время), но даже для массивов или матриц функция сохранения в Matlab не поддерживает добавление новых строк. Итак, как это реализовать?
N
раз, когда он изменяется? В противном случае вам придется разработать пользовательскую функцию для поиска свойств, которые изменились, и придумать свой собственный способ отслеживания этих изменений. Я предполагаю структуру данных, аналогичную спецификации патча JSON. - person Suever   schedule 10.01.2017matfile
? - person Suever   schedule 10.01.2017