writedlm
保存较大的矩阵大小,例如(100000,1000),在一个非常大的文件中有一些非零〜1Gb。有没有更有效的方法?
答案 0 :(得分:3)
正如科林所说,SparseArray
和包JLD
将会:
using JLD
a = speye(1_000_000)
save("/tmp/foo.jld","a",a)
答案 1 :(得分:0)
如果您不关心格式的不透明性,也可以使用Seralization
软件包serialize()
/ deserialize()
。
# write to file
using Serialization
using SparseArrays
a = speye(1000000)
f = open("mat.dat","w")
serialize(f, a)
close(f)
# read back
a = deserialize(open("mat.dat"))
# may need to close the file