MATLAB C / C ++ API — обновление большой переменной

Я только что понял, что если у меня есть переменная в MAT-файле (большой массив), и я хочу обновить эту переменную, добавив новую строку (предположим, двумерный массив) с помощью API MATLAB C / C ++, тогда необходимо загрузить переменную в память, создайте копию с новой строкой и, наконец, перезапишите существующий массив новым.

Поскольку я работаю с большими / огромными массивами, я хотел бы знать, как обновить переменную, не загружая все это в память.

Спасибо.

0

Решение

Вы можете добавлять новые данные в файл только в конце, нет способа «вставить данные в середину файла» (или в начало). Вам нужно прочитать файл и записать новые данные. Если старые данные меньше, чем новые, это невозможно сделать «на месте», так как новые данные перезаписывают некоторые старые данные.

Предполагая, что вам не обязательно записывать его обратно в исходный файл, вы можете загрузить часть файла за раз и в начале обработки создать новый файл, в который вы будете записывать расширенные данные. После того как вы записали все данные, при желании вы можете переименовать новый файл в исходное имя входного файла.

0

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]