【问题标题】:Big numbers and long loops in matlab?matlab中的大数字和长循环?
【发布时间】:2015-09-26 15:18:29
【问题描述】:

如何在 MatLab 中存储 2^100 行的矩阵!这是我的搜索空间,我真的需要这样做。 在您看来,有可能吗?如果是,请帮助我,我该怎么做?

【问题讨论】:

  • 请至少提供一些您尝试过的示例。
  • ~10^9 Terrabytes,这是不可能的。
  • 你需要它做什么?
  • 请详细说明“我真的需要这样做”。给我们更多关于搜索空间的信息。为什么它必须在这样的整体块中,而不是生成数据的管道?为什么需要 MatLab?

标签: matlab bigdata


【解决方案1】:

2100 大约是 1030,这对于您来说太大而无法放入内存中 - 因此您将无法存储此矩阵。

您可能想要考虑的几个替代方案 -

  1. 矩阵中的许多条目是否为零?如果是这样,您可以考虑使用内存效率更高的sparse matrix

  2. 您是否需要能够以任意顺序或顺序访问行?如果按顺序,您可以根据需要生成行(可能一次以一万个块为单位)

  3. 您是否需要查看所有行?如果没有,也许您可​​以定义一个函数,根据请求动态生成条目。

【讨论】:

  • 对于这么大的数据,即使是稀疏矩阵也是不可能的。 2^48-1 是支持的最大行数/列数。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2017-01-23
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多