浮動小数点エラーでPythonを使用して問題が発生しました。私はここでそれを言及することは有益かもしれませんが。Python浮動小数点エラー
私は5000Hzでデータを記録する外部サンプリングシステムを持っています。タイムスタンプを取得するために、私は最初の時間をとり、連続するサンプルのタイムスタンプを取得するために(1.0/5000)を追加します。私は非常に迅速に現在の時間(time.time())は、ループを使用して計算された時間から漂って気づいた。単純な計算を行うと、目立っドリフトがあった - いくつかのコード:
start_time = time.time()
start_time_test = start_time
#get 512 samples - takes 512*1.0/5000 seconds
for i in arange(512):
start_time = start_time + (1.0/5000) #5khz
start_time_test = start_time_test + 512*(1.0/5000)
print time.time() - start_time_test #no drift
print time.time() - start_time # drifts
print start_time_test - start_time # constant increment
は今start_time_testとstart_timeの間の差は無視できないではない - それは1.69e-5 512のブロックごとに非常に迅速に追加することを開始についてです。私はすぐに浮動小数点のエラーがここに再生に来て驚いている。ここで小数点以下のpacakgeの使用を調べて、エラーを制限するつもりです。
浮動小数点エラーのこのレベルは予想されますか? - 私が何かばかげたことをする可能性があり、浮動小数点エラーではないことを忘れないでください。
ここに質問はありません。 –
罰金 - このレベルのドリフトは予想されますか? –
[浮動小数点精度の問題](http://en.wikipedia.org/wiki/Floating_point#Accuracy_problems)は、太陽の下では何も新しいものではありません。[decimal library](http://docs.python.org /library/decimal.html) – Aprillion