我试图用行填充矩阵。我实时读取数据,我需要用前256个值填充矩阵,然后用接下来的256个值填充等等......这是我到目前为止所做的,但是当我打印它时在控制台中,它向我显示了对象,而不是矩阵,所以我不知道我是否做得对。
transformed[0] = scaleEMG(transformed[0]);
transformed[1] = scaleEDA(transformed[1]);
transformed[2] = scaleAccelerometer(transformed[2]);
transformed[3] = scaleAccelerometer(transformed[3]);
transformed[4] = scaleAccelerometer(transformed[4]);
double[][] buff = new double[256][6];
for(int f=0;f<256;f++){
buff[f] = transformed;
}
Log.d("this is my array", "arr: " + Arrays.toString(buff));
转换为我提供了连续读取传感器数组的数组,如下所示:
我只需要将这些数据分组为256x6的数组。然后使用接下来的256个值更新此数组(或另一个),依此类推。
编辑:我将toString
更改为deepToString
我定义了我的全局变量并更新了buff,如下所示:
public static int f = 0;
public static double[][] buff = new double[256][6];
if(f<256){buff[f++]=transformed;}
但我总是得到相同的矩阵,我该如何解决这个问题呢?正如我所说,打印的第一个矩阵应该是转换后的第256个值,第二个矩阵应该是转换后的256个值等。
答案 0 :(得分:2)
您需要使用Arrays#deepToString
代替Arrays.toString
来打印2d数组
Log.d("this is my array", "arr: " + Arrays.deepToString(buff));
因为它就像一个包含对象的对象
<强>阵列#deepToString 强>
返回&#34;深度内容&#34;的字符串表示形式。的 指定的数组。如果数组包含其他数组作为元素,则 字符串表示包含其内容等。
This method is designed for converting multidimensional arrays to strings
。