ここに私の問題があります: numpyを使用して(数値)導関数を計算しようとしていますが、numpy.diff関数が返す値とnumpy.gradientの値に問題があります)。私が見つけたのは、値が完全に間違っているということです!このスクリプトの出力はnumpy.diffの出力が間違っています
import numpy as np
x = np.linspace(-5, 5, 1000)
y = x**2
yDiff = np.diff(y)
print y[0], yDiff[0]
:
25.0 -0.0999998997997
最初の値が右であり、第二は、それが(近似を考慮しなければならないものよりも正確に100倍小さい は、ここでのサンプルコードです)! 私は別の試みをしましたが、これは関数の境界に関連する問題ではなく、この100の要素は体系的に見えます... これはnp.diffが行っているいくつかの正規化に関連していますか?あるいは、気づかずに何か重要なものを見逃しているのでしょうか? 助けをありがとう
それとも、あなたはnp.linspace' 'をもう一度見て必要があります。ところで
を試してみて、
np.linspace
はこのコンテキストで便利ですretstep
キーワードを持っていますか? – Divakarあなたはもっと明白かもしれませんか? – mmonti
申し訳ありませんが、私の悪い、目的の出力として派生部分が表示されませんでした。 – Divakar