MATLAB爱好者论坛-LabFans.com

MATLAB爱好者论坛-LabFans.com (https://www.labfans.com/bbs/index.php)
-   资料存档 (https://www.labfans.com/bbs/forumdisplay.php?f=72)
-   -   从Java类型回到MATLAB类型 (https://www.labfans.com/bbs/showthread.php?t=26263)

poster 2019-12-14 20:13

从Java类型回到MATLAB类型
 
我的MATLAB工作区中有一个Java数组(以下示例中的my_array ),我想将其转换回MATLAB数组。

whos my_array Name Size Class my_array 20000x1 java.lang.Object[] 我在外部接口文档中找不到如何将Java类型转换回MATLAB类型的方法。我发现的唯一内容是[URL="http://www.mathworks.com/help/techdoc/ref/cell.html"]此[/URL]文件(有关MATLAB单元的文档),它说我可以使用MATLAB单元来完成此任务。

使用MATLAB cells似乎是一个矫kill过正,特别是当我处理成千上万个相同类型的元素(在这种情况下,是double )时。还有其他方法可以将Java对象移回MATLAB的本机类型吗?



[B]回答:[/B]

例:

%# 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

[url=https://stackoverflow.com/questions/4869615]更多&回答...[/url]


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

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