java - 从 Java 类型移回 MATLAB 类型

标签 java matlab

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

whos my_array

  Name       Size            Class                                    

  my_array   20000x1            java.lang.Object[]

我在外部接口(interface)文档中找不到如何将 Java 类型转换回 MATLAB 类型。我唯一找到的是 this (关于 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      

关于java - 从 Java 类型移回 MATLAB 类型,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4869615/

相关文章:

java - 找到某个Point的TreeNode

java - Json Jackson 自定义属性字段

java - 关于w3c dom更新xml文件

matlab - 查找和删除监听器

r - R 和 MATLAB 上的多维数组的算术平均值 : drastic difference of performances

matlab - matlab中的垂直反射?

java - 如何更改 Jackson 中的显式编码?

java - 如何使用 Java 类加载器从类路径加载文件?

matlab - G和GHAT需要是相同的分类树

matlab 用自定义颜色绘制矩阵