1

現在、粒子の速度を計算するために、線形関数を距離対時間グラフに当てはめています...

velocity, intercept = numpy.polyfit(time, displacement, 1)

この速度測定値の誤差の推定値を見つけるにはどうすればよいでしょうか?

4

2 に答える 2

2

scipy.stats.linregressを試しましたか?

from scipy import stats
import numpy as np

coefficients = numpy.polyfit(time, displacement, 1)
fitted_data = np.poly1d(coefficients)

slope, intercept, r_value, p_value, std_err = stats.linregress(fitted_data, displacement)
于 2013-02-24T23:25:26.333 に答える
0

時間値は等間隔に配置されていますか? はいの場合、速度を次のように単純に補間できます。

velocitiy_between = (displacement[1:]-displacement[:-1])/(time[1:]-time[:-1])

これらの速度は、データ ポイント上ではなく、データ ポイント間で定義されるようになりました。次に、各データ ポイントに左右の近似値の平均を割り当てることができます。

velocity = (velocity_between[1:]+velocity_between[:-1])/2.0

これにより、フィットの結果と比較できるすべての内部データ ポイントの速度の配列を取得します。

時間値が等間隔に配置されていない場合でも、このアプローチを使用できます。ただし、データ密度に応じてエラーに追加の重み係数を割り当てる必要があります。これにより、近くのポイント間の勾配がより適切に近似されるという事実を考慮することができます。また、近隣間の平均化は、近隣までの距離に依存するようになります。

その 2 番目のケースの詳細が必要な場合は、コメントを残してください。

于 2013-02-25T09:39:01.560 に答える