Labfans是一个针对大学生、工程师和科研工作者的技术社区。 论坛首页 | 联系我们(Contact Us)
MATLAB爱好者论坛-LabFans.com
返回   MATLAB爱好者论坛-LabFans.com > 其它 > 资料存档
资料存档 资料存档
 
 
主题工具 显示模式
旧 2019-12-14, 20:13   #1
poster
高级会员
 
注册日期: 2019-11-21
帖子: 3,006
声望力: 66
poster 正向着好的方向发展
帖子 将.mat文件转换为XML-是否需要添加Java类?

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

http://www.mathworks.com/matlabcentr...eexchange/4278

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

??? NaN's cannot be converted to logicals. 我尝试转换的数据结构嵌套在具有许多数据类型(数组等)的许多级别上,因此我可能必须编写自己的导出函数。我使用的是Matlab版本7.10.0.499(R2010a)64位(maci64),因此我应该可以使用xmlwrite和xmlread函数:

http://www.mathworks.com/help/techdo...8.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函数



更多&回答...
poster 当前离线   回复时引用此帖
 


发帖规则
不可以发表新主题
不可以发表回复
不可以上传附件
不可以编辑自己的帖子

启用 BB 代码
论坛禁用 表情符号
论坛启用 [IMG] 代码
论坛启用 HTML 代码



所有时间均为北京时间。现在的时间是 23:37


Powered by vBulletin
版权所有 ©2000 - 2025,Jelsoft Enterprises Ltd.