在MATLAB中存储16×(2 ^ 20)矩阵的最佳方法是什么?

zih*_*oyu 5 file-io matlab matrix bigdata

我正在考虑将数据写入文件.有没有人有一个如何将大量数据写入文件的例子?

编辑:矩阵中的大多数元素都是零,其他元素是uint32.我想最简单的save()load()会的工作,为@Jonas建议.

Jac*_*cob 6

我想没有人看过关于零的编辑:)

如果它们大多数为零,则应将矩阵转换为稀疏表示,然后保存.你可以用稀疏函数做到这一点.

z = zeros(10000,10000);
z(123,456) = 1;
whos z
z = sparse(z);
whos z
Run Code Online (Sandbox Code Playgroud)

产量

Name          Size                   Bytes  Class     Attributes

  z         10000x10000            800000000  double  

Name          Size               Bytes  Class     Attributes

  z         10000x10000            40016  double    sparse    
Run Code Online (Sandbox Code Playgroud)

我不认为稀疏实现是为了处理而设计的uint32.