と機能をフィッティング: は、私は以下のグラフの一部に機能に合うようにしようとしていますheavysideのステップ関数
私は信号が指数関数的に増加し始める時間を知りたいです。これを行うために、データに指数曲線をフィットさせ、階段状の階段関数を掛けました。
私は期待したい:私は唯一の指数部は私が次のグラフを取得し合うとき
def fit(x, a, b, c, d, e):
return np.heaviside(x-a, 0.5)*b*np.exp(c*x-d)+e
parameter, covariance = curve_fit(fit, fitx, fity)
x = np.linspace(min(fitx), max(fitx), 1000)
plt.plot(fitx, fity)
plt.plot(x, fit(x, *parameter), 'b-', label='fit')
plt.show()
結果は何とか直線
ですx軸の直線、画像2の指数関数グラフが続きます。誰かが間違っていた場所を知っていますか?
パラメータ「a」の適切な開始点を指定する必要があるかもしれません。 –
@IgnacioVergaraKauselは、多くのお手伝いをしました! – tomM
私はフィッティングの問題の70%が悪い出発点であると言いたいと思います。私は答えとしてコメントを入れます。 –