Java 根据公式计算gps的平均速度
我尝试使用以下方程式计算电机的平均电池长度(以分钟为单位): 我使用以下代码获得平均速度:Java 根据公式计算gps的平均速度,java,android,Java,Android,我尝试使用以下方程式计算电机的平均电池长度(以分钟为单位): 我使用以下代码获得平均速度: for (Location location : locationResult.getLocations()) { int speed = (int) (location.getSpeed() * 2.2369); float addedSpeed = avgMPH + speed; avgMPH = addedSpeed / 2; float math1 = 45 / a
for (Location location : locationResult.getLocations()) {
int speed = (int) (location.getSpeed() * 2.2369);
float addedSpeed = avgMPH + speed;
avgMPH = addedSpeed / 2;
float math1 = 45 / avgMPH;
batteryView.setText("Battery: " + String.valueOf(math1 * 60) + " Minutes Remaining");
}
问题是,每次位置循环都会使我的电池寿命翻倍,即使它仍然保持在每小时1英里的速度。它不应该像这样循环,帮助感激,谢谢 我认为你计算的平均速度是错误的。 你应该这样计算:
float addedSpeed = avgMPH * numSamples + speed;
avgMPH = addedSpeed / (numSamples + 1);
numSamples = numSamples + 1;
float addedSpeed = avgMPH + speed;
avgMPH = addedSpeed / 2;
不是这样的:
float addedSpeed = avgMPH * numSamples + speed;
avgMPH = addedSpeed / (numSamples + 1);
numSamples = numSamples + 1;
float addedSpeed = avgMPH + speed;
avgMPH = addedSpeed / 2;
例如,假设你以每小时1英里的速度行驶10小时,以每小时100英里的速度行驶1小时。
前者给出的平均速度为10英里/小时,这是正确的;后者给出的平均速度为55.5英里/小时,这是错误的。这个公式很奇怪,结果“电池长度”将以
小时*分钟为单位。