从Matlab读取数据到Java

时间:2012-03-16 04:37:47

标签: java matlab

我正在尝试将Matlab中生成的矩阵读入java中的2D数组。 到目前为止,我一直在使用jmatio从java写入.mat文件(成功),但现在无法设法反过来。 我已经设法使用以下代码将矩阵导入MLArray对象:

matfilereader = new MatFileReader("filename.mat");
MLArray j = matfilereader.getMLArray("dataname");

但除了获取其字符串表示之外,我无法设法访问数据本身。我没有找到关于库本身或文档的示例,我实际上编写了一个函数来将intire字符串解析为double [] []数组,但这只有在矩阵小于1000个项目时才有用...

非常感谢任何经验或提示, 谢谢,

阿米尔

2 个答案:

答案 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