【发布时间】:2012-03-16 04:37:46
【问题描述】:
我正在尝试将 Matlab 中生成的矩阵读入 java 中的二维数组。 到目前为止,我一直在使用 jmatio 从 java 写入 .mat 文件(成功),但现在无法反过来。 我已经设法使用以下代码将矩阵导入 MLArray 对象:
matfilereader = new MatFileReader("filename.mat");
MLArray j = matfilereader.getMLArray("dataname");
但是除了获取它的字符串表示之外,我无法访问数据本身。我没有找到关于这个库本身的示例或文档,我实际上编写了一个函数来将 intire 字符串解析为一个 double[][] 数组,但这只有在矩阵小于 1000 个项目时才有用......
如果有任何经验或提示,将不胜感激, 谢谢,
阿米尔
【问题讨论】:
-
您是否尝试过使用 MLDouble 子类而不是 MLArray?您是否在 MATLAB 中检查了 mat 文件是否已正确保存?
-
你是什么意思使用 MLDouble 而不是 MLArray? MatfileReader 有这个将变量返回为 MLArrays 的 API。关于文件 - 是的,我尝试了几个,它们都很好。
-
我的意思是将 MLArray 转换为 MLDouble。你可以试试
MLDouble j = (MLDouble)matfilereader.getMLArray("dataname");吗? -
是的,很好用!然后您可以通过协调访问所有单元格,甚至可以使用内置函数“.createArray”。非常感谢