【问题标题】:Saving efficiently some large variables using MATLAB使用 MATLAB 有效地保存一些大变量
【发布时间】:2020-10-28 16:05:04
【问题描述】:

我有一个关于如何保存在 MATLAB 中创建的大型变量的问题。我有一些 cell 变量 (A, B, C) 。每个都占用超过 2Gb 的内存。 目前我正在通过键入来保存它们

savefile = 'All.mat';
save(savefile, 'A', 'B', 'C', '-v7.3')

这需要一段时间。我想知道是否有更有效的方法来存储它们,例如将它们转换为其他文件扩展名。有什么建议吗?

【问题讨论】:

  • 保存这么多数据需要很长时间,你无能为力。您是否可以使用其他文件扩展名主要取决于两件事:您的用例和您的数据类型。如果这些单元格包含各种不同的数据类型,而您稍后在 MATLAB 中需要这些数据类型,则没有太多选择。如果 OTOH 您只有数字双精度值(因此可以使用矩阵),您可以使用不同的格式(csv、二进制等),这可能会更快。

标签: matlab


【解决方案1】:

如果磁盘空间对您来说不是问题,那么您可以尝试关闭压缩:

save(savefile, 'A', 'B', 'C', '-v7.3', '-nocompression')

【讨论】:

    【解决方案2】:

    您也可以尝试将 A、B 和 C 保存在 3 个不同的文件中?这是我通常在做的事情。

    或者,如果您想将它们放在同一个文件中,您还可以将每个单元格的子集(例如 10 个)保存在不同的文件中?

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2014-01-26
      • 2020-09-27
      • 1970-01-01
      • 2012-07-02
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2014-12-13
      相关资源
      最近更新 更多