Я рассмотрел множество вопросов StackOverflow и результаты поиска Google, прочитал много дискуссионных тем, но я не смог найти правильный ответ на мой вопрос. У меня есть разреженная матрица в формате .mat, которая содержит 36600 узлов (матрица смежности 36600x36600) для чтения и манипулирования (например, умножения матричного вектора) в среде Java. Я применил много ответов, которые обсуждались здесь, но у меня всегда были ошибки NullPointerException, хотя в этих файлах .mat были данные. (Некоторые говорят, что этот результат связан с размером данных). Я применил следующий код к моему .mat-файлу, который возвращает null и NullPointerException.Чтение и обработка файла .mat (Matrix Adjacency) в Java
MatFileReader matfilereader = new MatFileReader("sourceData.mat");
MLArray mlArrayRetrieved = matfilereader.getMLArray("data");
System.out.println(mlArrayRetrieved);
System.out.println(mlArrayRetrieved.contentToString());
Кроме того, я много раз пытался преобразовать .mat файл .csv или .xls в среде MATLAB и Python среды на Jupyter ноутбуков, но я не получил никакого результата в это время тоже.
Этот файл .mat будет представлять собой матрицу смежности и будет источником для конкретного алгоритма в проекте Cytoscape. Следовательно, я должен использовать его в Java Environment, и я решил использовать библиотеку COLT для матричных манипуляций. Предложения и советы помогут мне так много. Спасибо за прочтение.
Каков размер файла данных? – JMA
@jafergas примерно 750KB, редкая матрица. –