我my_array
在我的MATLAB工作区中有一个Java数组(在下面的例子中),我想将其转换回MATLAB数组.
whos my_array
Name Size Class
my_array 20000x1 java.lang.Object[]
Run Code Online (Sandbox Code Playgroud)
我无法在外部接口文档中找到如何将Java类型转换回MATLAB类型.我发现的唯一的事情就是这个(关于MATLAB单元的文档),它说我可以用MATLAB单元来完成这个任务.
使用MATLAB cells
似乎有点矫枉过正,特别是当我处理相同类型的数千个元素时(在本例中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
Run Code Online (Sandbox Code Playgroud)
归档时间: |
|
查看次数: |
2762 次 |
最近记录: |