10
numpy.gradient
関数が返す配列は、データポイントのデータポイント数/スペーシング数によって異なります。これは予想される動作ですか?たとえば:numpy勾配関数と数値派生語
y = lambda x: x
x1 = np.arange(0,10,1)
x2 = np.arange(0,10,0.1)
x3 = np.arange(0,10,0.01)
plt.plot(x1,np.gradient(y(x1)),'r--o')
plt.plot(x2,np.gradient(y(x2)),'b--o')
plt.plot(x3,np.gradient(y(x3)),'g--o')
はプロットを返します。
y(x1)の勾配のみが正しい結果を返します。ここで何が起こっているのですか? numpyを使って数値微分を計算する良い方法はありますか?
乾杯np.gradient
で
恐ろしい、あなたはpabaldonedoありがとうあなたが前進差分を使用する場合は、行うことができます。マニュアルでは「サンプル距離」はわかりにくい用語であることがわかりました。 1つの最後の質問 - サンプル距離が均等でない場合はどうですか?マニュアルには何もありません。 – user1654183
距離が足りない場合は、手動で計算する必要があります。 – pabaldonedo
@ user1654183私はサンプル距離が均一でない場合の可能な解決策を含めるために私の答えを編集しました。 – pabaldonedo