【问题标题】:Matlab: Is it possible to save in the workspace a vector that contains 4 millions of values?Matlab:是否可以在工作区中保存一个包含 400 万个值的向量?
【发布时间】:2011-07-18 16:23:21
【问题描述】:

我正在计算一些东西,结果我有一个包含 400 万个元素的向量。我还没算完呢。我已经计算出这将需要2个半小时以上。当我完成时我可以保存它吗? 这是不可能的,我该怎么办? 谢谢。

【问题讨论】:

  • 你想做什么?停止计算并稍后继续?否则,您可以使用保存命令(正如 Ghaul 回答的那样)。
  • 我只是想知道一个有这么多元素的向量是否可以通过保存工作空间来保存。
  • 这当然取决于您的计算机,但 400 万并没有那么大,所以大多数现代计算机都应该处理它。

标签: matlab vector save workspace


【解决方案1】:

在 Windows 32 位上,您最多可以拥有一个包含 155-2 亿个元素的双精度数组。检查Mathworks support page上的其他操作系统。

【讨论】:

    【解决方案2】:

    是的,只需使用命令save。如果您只是需要它用于以后的 Matlab 计算,那么最好将其保存为 .mat 格式。

    save('SavedFile.mat','largeVector')
    

    然后,您可以在需要时使用 load 函数加载文件。

    load('SavedFile.mat')
    

    【讨论】:

    • 感谢您的来信,我不认为这个答案是一个好的答案。此回复不回答我的问题。
    【解决方案3】:

    在我的机器上,获得一个包含 400 万个元素的随机向量需要 0.01 秒,whos 你可以看到它(仅)需要 32 MB。

    使用 MATLAB 保存如此多的数据只需几秒钟。如果您使用的是 R2007b 后版本,那么最好使用 '-v7.3' 选项保存,较新的 MATLAB 版本默认使用通用 HDF5 格式,但有 could be some performance/disc usage issues.

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2021-07-02
      • 1970-01-01
      • 1970-01-01
      • 2013-10-01
      • 2010-09-13
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多