0

我刚刚意识到,如果我在 MAT 文件(大数组)中有一个变量,并且我想通过使用 MATLAB C/C++ API 附加一个新行(假设是一个二维数组)来更新这个变量,那么有必要加载将变量放入内存,用新行创建一个副本,最后用新行覆盖现有数组。

因为我正在使用大/巨大的数组,所以我想知道如何更新变量而不将整个东西加载到内存中。

谢谢你。

4

1 回答 1

0

您只能在文件末尾添加新数据,无法“在文件中间插入数据”(或开头)。您需要读取文件,并写入新数据。如果旧数据小于新数据,则无法“原位”完成,因为新数据会覆盖一些旧数据。

假设您不一定需要将其写回原始文件,您可以一次加载文件的一部分,并在处理开始时创建一个新文件,将扩展数据写入其中。写入所有数据后,您可以根据需要将新文件重命名为输入文件的原始名称。

于 2013-06-12T09:42:57.143 回答