gpt4 book ai didi

java - 将 .mat 文件转换为 XML —— 需要添加 java 类?

转载 作者:行者123 更新时间:2023-11-30 05:06:58 32 4
gpt4 key购买 nike

我想将一些 MAT 文件转换为 XML(每个 .mat 文件包含一个分层结构),以便我可以从其他软件(如 R、Python)访问数据。这些 MAT 文件是在 Matlab 6.5 中生成的,因此它们不在 HDF5 数据格式规范中。有一个用户贡献的 XML 工具箱(从 2003 年开始),它建议可以进行从 MAT 到 XML 的简单转换:

http://www.mathworks.com/matlabcentral/fileexchange/4278

但我似乎在 xml_format 函数中遇到了错误:

??? NaN's cannot be converted to logicals.

我尝试转换的数据结构嵌套在许多级别上,具有多种数据类型(数组等),因此我可能必须编写自己的导出函数。我使用的是 Matlab 版本 7.10.0.499 (R2010a) 64 位 (maci64),因此我应该可以使用 xmlwritexmlread 函数:

http://www.mathworks.com/help/techdoc/import_export/f5-86078.html#bsmnj5u

但是,当我尝试效仿他们的榜样时,

docNode = com.mathworks.xml.XMLUtils.createDocument('root_element')

我收到错误:

??? Undefined variable "com" or class

如果我尝试查看加载了哪些 java 类,我会得到

[M,X,J] = inmem;
J =

'MException'

尽管在我的 $matlabroot/toolbox/local/classpath.txt 中似乎加载了很多 Java 类。

我是否需要安装 Java 模块或添加其他路径或其他内容才能使其正常工作?或者您对从 MAT 转向另一种允许任意嵌套结构(其中一些包含图像的数组表示)的通用数据交换格式有什么建议吗?我还没有看到太多 MAT 到 HDF5 转换的方式,这似乎也是从 MAT 到 XML 的合理替代方案...谢谢 ~

最佳答案

由于较新的 mat 文件只是行/列翻转的 HDF5 文件,您只需编写新的 matlab 即可将其导入 HDF5。

要将旧的 mat 文件转换为较新的 HDF5 格式,只需在 matlab 中打开它们并重新保存

s=open('AFile.mat')
save('AFile.mat','-struct','s')

大概

您还可以探索hdf5write函数

关于java - 将 .mat 文件转换为 XML —— 需要添加 java 类?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4779143/

32 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com