我有从 Android 手机计算的传感器数据。我使用 xyz 坐标上的矩阵进行转换。然后我用手机得到的加速度来计算速度和位移。这是我查找位移和速度的代码。它始终是对应的先前值:
velocity[e] = (accel[e-3]) * (time[i]-time[i-1])+velocity[e-3];
velocity[e+1] = (accel[e-2]) * (time[i]-time[i-1]) +velocity[e-2];
velocity[e+2] = (accel[e-1]) * (time[i]-time[i-1])+ velocity[e-1];
displacement[e] = (velocity[e-3])*(time[i]-time[i-1])+.5*(accel[e-3])*pow((time[i]-time[i-1]),2) + displacement[e-3];
displacement[e+1] = (velocity[e-2])*(time[i]-time[i-1])+.5*(accel[e-2])*pow((time[i]-time[i-1]),2) + displacement[e-2];
displacement[e+2] = (velocity[e-1])*(time[i]-time[i-1])+.5*(accel[e-1])*pow((time[i]-time[i-1]),2) + displacement[e-1];
但是,我得到了像 -3436.0 19206.2 11373.5 这样的数字,因为位移应该不会那么高。我什至制作了一个测试文件来测试我的公式,就我得到的数字而言,一切都是正确的。但是,它不适用于真实数据。另外,我读了一些关于从加速度、速度和位移中去除平均值的内容,但不太明白,所以有人可以解释一个解决方案来获得正确的数字吗?