在matlab中创建double(primitive)的java数组
我希望能够在matlab中声明一个在matlab中创建double(primitive)的java数组,java,arrays,matlab,Java,Arrays,Matlab,我希望能够在matlab中声明一个double的java数组。在java中,您可以执行以下操作: double[]arr=新的双精度[4] 现在我想在Matlab中做同样的事情。我尝试了以下方法: arr = javaArray('D', 100); arr = javaArray('[D', 100); 它给了我一个在java类路径上找不到类[D的错误 我知道我可以用arr=javaArray('com.lang.Double',100)创建一个Double数组;,但这不是基本类型,需要进一
double
的java数组。在java中,您可以执行以下操作:
double[]arr=新的双精度[4]代码>
现在我想在Matlab中做同样的事情。我尝试了以下方法:
arr = javaArray('D', 100);
arr = javaArray('[D', 100);
它给了我一个在java类路径上找不到类[D
的错误
我知道我可以用arr=javaArray('com.lang.Double',100)创建一个Double
数组;
,但这不是基本类型,需要进一步转换。您真的需要此函数吗?使用matlab双向量/矩阵,它可以传递给任何需要java数组的java函数。我收到一个java列表,希望使用toArray(newArr)
函数将其转换为双向量。当前的转换方法将其转换为单元格,然后再转换为双向量。基本上,问题是如何使用public T[]toArray(T[]a)
输出javadouble[]
。我会编写一个java类来实现这一点,也许有人有更好的解决方案。这是提出问题的另一种方式。但我需要能够在Matlab中实现这一点。我想我可以编写java并编译成.jar,然后将其加载到Matlab中:/