【发布时间】:2017-10-29 15:28:19
【问题描述】:
我正在尝试用行填充矩阵。我正在实时读取数据,我需要用前 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));
transformed 给我一个数组一个数组的传感器读数,像这样:
我只需要将这些数据分组到一个 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 个值,等等。
【问题讨论】:
-
“当我在控制台中打印时它会显示对象”是什么意思? edit您的问题以显示一些示例输出。
-
问题是因为您当前正在将相同的数组分配给您的内部 2d 数组
buff[f] = transformed,您到底期望什么,请提供更多信息 -
如果我进行打印转换,它会给我一个包含传感器读数的数组。我每秒读取 1000 个样本,它会打印每个样本。我说清楚了吗?我 buff 我需要存储前 256 个样本,所以转换后的前 256 个读数,然后是下一个 256,依此类推..
-
许多事情仍然很清楚,例如您如何获取数据以及何时何地获取数据,但简单的事情是,您应该执行类似
buff[f] = first 1d arraywheref-0thenbuff[f] = second 1d arraywheref-1等等。我感觉到您可能需要保留一个全局变量并像buff[f++]=transformed一样使用它,然后当transformed得到下一个值时,buff[f++]=transformed -
我想我明白你在说什么,但我不知道该怎么做。我应该将 buff[f] 更改为 buff[f++]?
标签: java android arrays matrix rows