在Java文件中存储Java中的3d数组

时间:2014-07-25 10:41:18

标签: java arrays matlab

我试图在Matlab中存储用Java制作的三维数组,但是我的一些错误导致存储重复数据,即第一维数据也在其他维度上复制。

我为此目的使用JMatIO库

Java代码

int[] dims = {Xtimeseries.length,Xtimeseries[0].length,Xtimeseries[0][0].length};
MLDouble Xtimeseriesmat = new MLDouble("Xtimeseries", dims);
for(int i = 0 ; i < dims[0]; i++)
    for(int j = 0 ; j < dims[1] ; j++)
        for(int k = 0 ; k < dims[2] ; k++){
            Xtimeseriesmat.set(Xtimeseries[i][j][k],i,j + k*dims[1]);
        }

这里Xtimeseries是double [] [] []

然而,当我在Matlab中加载此矩阵时,我得到以下内容

 Xtimeseries(1,1,1:3)

ans(:,:,1) =

   3.9308e+03


ans(:,:,2) =

   4.1297e+03


ans(:,:,3) =

   3.9985e+03

 Xtimeseries(2,1,1:3)

ans(:,:,1) =

   3.9308e+03


ans(:,:,2) =

   4.1297e+03


ans(:,:,3) =

   3.9985e+03

在MLDouble中存储数组时我犯了什么错误?

0 个答案:

没有答案