我正在尝试将Matlab中生成的矩阵读入java中的2D数组。 到目前为止,我一直在使用jmatio从java写入.mat文件(成功),但现在无法设法反过来。 我已经设法使用以下代码将矩阵导入MLArray对象:
matfilereader = new MatFileReader("filename.mat");
MLArray j = matfilereader.getMLArray("dataname");
但除了获取其字符串表示之外,我无法设法访问数据本身。我没有找到关于库本身或文档的示例,我实际上编写了一个函数来将intire字符串解析为double [] []数组,但这只有在矩阵小于1000个项目时才有用...
非常感谢任何经验或提示, 谢谢,
阿米尔
答案 0 :(得分:2)
matfilereader.getMLArray有几个子类来访问MLArray对象中的不同类型的数据。
要表示双数组,您可以将MLArray转换为MLDouble:
MLDouble j = (MLDouble)matfilereader.getMLArray("dataname");
答案 1 :(得分:0)
我不熟悉这个工具,但它已经很老了。尝试保存到较早版本的*.mat
文件,看看您的结果是否发生了变化。也就是说,在保存r * .mat文件时添加'-v7.0'
或'-v6'
标记。
示例代码:
save filename var1 var2 -v7.0
或
save filename var1 var2 -v6