将Matlab运行时中的Object[]结果转换为双[][]数组Java
如何在Matlab运行时将Object[]结果转换为double[][]数组Java? 我试过这样的“toDoubleArray”:将Matlab运行时中的Object[]结果转换为双[][]数组Java,java,arrays,matlab,matlab-deployment,Java,Arrays,Matlab,Matlab Deployment,如何在Matlab运行时将Object[]结果转换为double[][]数组Java? 我试过这样的“toDoubleArray”: MWNumericArray data1=null; MWNumericArray data2=null; Object[] result = null; Class1 lse = null; Object[] hasil; try { data1=new MW
MWNumericArray data1=null;
MWNumericArray data2=null;
Object[] result = null;
Class1 lse = null;
Object[] hasil;
try {
data1=new MWNumericArray(A, MWClassID.DOUBLE);
data2=new MWNumericArray(target, MWClassID.DOUBLE);
lse = new Class1();
result = lse.rekursif_lse(1, data1,data2);
System.out.println(" "+result[0]);
MWNumericArray mytemp = (MWNumericArray) result[0];
double[][] bar =(double[][]) mytemp.toDoubleArray();
T = bar;
for(i=0;i<=20;i++){
for(j=0;j<2;j++){
System.out.println(" "+T[i][j]);
}
}
}catch (Exception e) {
System.out.println("Exception! "+e.toString());}
finally
{
MWArray.disposeArray(data1);
MWArray.disposeArray(data2);
MWArray.disposeArray(result);
lse.dispose();
}
如何解决这个问题?您混淆了数组索引:您有一个带有测量值[20][1]的二维数组,但在打印循环中您放置了:
for(i=0;i<=20;i++){
for(j=0;j<2;j++){
System.out.println(" "+T[i][j]);
}
}
for(i=0;我想知道答案!但我的意思是我想将对象[]输入到T[][]中。但是我已经通过更改对象[]数组,然后调用getData()完成了这项工作方法。之后,我使用for循环获取数据。再次,非常感谢!!!@assafs没问题,我希望我能帮上一点忙。如果您还有其他问题,请您编辑上面的问题,我将尝试提供更多帮助。再次感谢您的帮助。但我已经通过getdata()解决了这个问题方法。非常感谢!如果一切都解决了,你们都完成了-你们介意接受我的答案吗?点击答案旁边的灰色复选标记,使其变为绿色?
for(i=0;i<=20;i++){
for(j=0;j<2;j++){
System.out.println(" "+T[i][j]);
}
}
for(i=0;i<=20;i++){
System.out.println(" "+T[i][0]);
}