Как импортировать / экспортировать матрицу из файла при использовании библиотеки UJMP?

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?

Заранее благодарю вас за ваш ответ и извините за мой английский.

Теги:
export
matrix
import
ujmp

2 ответа

0

Фактически вы можете экспортировать матрицу в файл, используя метод

exportTo()

и выберите пункт назначения

Например:

m.exportTo().file(file)

а затем выберите формат экспорта

Например:

m.exportTo().file(file).asMatlabScript("myMat");
  • 0
    Спасибо за ответ. Это, наверное, правильно. Я не уверен, как я наконец обошел эту проблему, но у меня больше нет проекта, поэтому я не могу проверить его, чтобы проверить.
0

Я не уверен, но я думаю, вы используете null качестве разделителя в своем файле:

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

Возможно, вам следует использовать:

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

Ещё вопросы

Сообщество Overcoder
Наверх
Меню