我是斯卡拉和微风的新手。如果答案显而易见,请原谅这个问题。我无法弄清楚如何将稀疏矩阵写入文件。这是我正在谈论的一个例子:
import breeze.linalg.CSCMatrix
val B = CSCMatrix.zeros[Int](4,4)
B(0,2) = 1
现在,我想将B保存为文本文件。
我已经考虑过将B的元素映射到一个字符串,然后写入文件,但这似乎是错误的。此外,我可以将其转换为密集矩阵并将其写入文件,但这似乎也是错误的。有趣的是,即使我将它转换为密集矩阵,在csvwrite工作之前它仍然必须是双打类型。 Arg ...请救火星/斯卡拉地狱。
答案 0 :(得分:2)
您可以使用接受Matrix [Double]的csvwrite。
import java.io.File
import breeze.linalg.{CSCMatrix, csvwrite}
val B = CSCMatrix.zeros[Double](4,4)
B(0, 2) = 1.0
csvwrite(new File("myCSCMatrix.txt"), B, separator=' ')