Labfans是一个针对大学生、工程师和科研工作者的技术社区。 | 论坛首页 | 联系我们(Contact Us) |
![]() |
|
![]() |
#1 |
高级会员
注册日期: 2019-11-21
帖子: 3,006
声望力: 66 ![]() |
![]()
我的MATLAB工作区中有一个Java数组(以下示例中的my_array ),我想将其转换回MATLAB数组。
whos my_array Name Size Class my_array 20000x1 java.lang.Object[] 我在外部接口文档中找不到如何将Java类型转换回MATLAB类型的方法。我发现的唯一内容是此文件(有关MATLAB单元的文档),它说我可以使用MATLAB单元来完成此任务。 使用MATLAB cells似乎是一个矫kill过正,特别是当我处理成千上万个相同类型的元素(在这种情况下,是double )时。还有其他方法可以将Java对象移回MATLAB的本机类型吗? 回答: 例: %# example Object[] array my_array = javaArray('java.lang.Object', 5); for i=1:5, my_array(i) = java.lang.Double(i); end %# convert to MATLAB vector M = arrayfun(@(x)x, my_array); %# or equivalently M = cell2mat( cell(my_array) ); >> whos M Name Size Bytes Class Attributes M 5x1 40 double 更多&回答... |
![]() |
![]() |