1

私はUJMPライブラリに取り組もうとしています。マトリックスを作成しましたが、それを txt ファイルにエクスポートしてから、基本的なマトリックスとして再度インポートしたいと考えています。次のコードを試しましたが、うまくいきません。

Matrix m = MatrixFactory.dense(ValueType.INT, new long[]{(long)100,(long)100});
for(int i = 0; i< 100; i++){
        for(int j = 0; j< 100;j++){
            m.setAsInt((int) (Math.random() *3),new long[]{i,j});
        }
}
try {
        m.exportToFile(FileFormat.TXT,"test.txt",null); //this works. My file contains the matrix
} catch (MatrixException e) {
        e.printStackTrace();
} catch (IOException e) {
        e.printStackTrace();
}
Matrix n = null;
try {
        n =ImportMatrix.fromFile(FileFormat.TXT,new File("test.txt"),null); //this doesn't work. The matrix has a size of 1*1 and contains the content of the previous matrix as a single string.
} catch (MatrixException e) {
        e.printStackTrace();
} catch (IOException e) {
        e.printStackTrace();
}

System.out.println(n.getSize()[0]+" "+n.getSize()[1]); // I get 1 1;

では、元の行列を 100*100 行列として取得するにはどうすればよいでしょうか?

返信ありがとうございます。私の英語で申し訳ありません。

4

2 に答える 2

0

よくわかりませんがnull、ファイルの区切り文字として使用していると思います:

m.exportToFile(FileFormat.TXT,"test.txt",null);

多分あなたは使うべきです:

m.exportToFile(FileFormat.TXT,"test.txt",";");
于 2015-03-11T09:10:00.103 に答える