Я пытаюсь работать с библиотекой 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?
Заранее благодарю вас за ваш ответ и извините за мой английский.
Фактически вы можете экспортировать матрицу в файл, используя метод
exportTo()
и выберите пункт назначения
Например:
m.exportTo().file(file)
а затем выберите формат экспорта
Например:
m.exportTo().file(file).asMatlabScript("myMat");
Я не уверен, но я думаю, вы используете null
качестве разделителя в своем файле:
m.exportToFile(FileFormat.TXT,"test.txt",null);
Возможно, вам следует использовать:
m.exportToFile(FileFormat.TXT,"test.txt",";");