![]() |
从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.