我有數據收集,其中每條記錄都有關於記錄此記錄時的車輛速度和時間的信息。每個記錄之間的時差是不同的,大約是300毫秒。我使用這個集合來計算旅行距離。我想修剪這個集合,而不會有太多的計算精度損失。有沒有任何算法?修剪集合用於計算距離
我試圖編寫一個簡單的算法,刪除記錄,如果記錄沒有不同於前一個至少X%。這個算法運行不好。例如,當我使用3%和4%修整算法時,記錄數是相同的,但計算距離在500米距離處相差40米,其中4%更準確。
編輯:本傑明算法的變化:
我有時間收集記錄的時候,所以我需要3條記錄。
double timeDifference = (next.time - curr.time)/(curr.time - previous.time); previuos.value = (previous.value + curr.value * timeDifference)/2
而且我不希望的結果是雙,但長,所以我需要使用舍入,這將改變距離。另外一分鐘約300條記錄,所以我希望四捨五入不會影響計算。
,如果你需要的精度你可以使用BigDecimal的,但是這會降低性能,但也許並不適合你沒關係。 –