2

scipy.integrate.odeint を使用して、任意の常微分方程式を時間的に後方に統合することは可能ですか? 可能であれば、「odeint.

4

3 に答える 3

3

odeint引数の負の値を処理しtます。特別な治療は必要ありません。

次に例を示します。

import numpy as np
from scipy.integrate import odeint
import matplotlib.pyplot as plt


def mysys(z, t):
    """A slightly damped oscillator."""
    return [z[1] - 0.02*z[0], -z[0]]


if __name__ == "__main__":
    # Note that t starts at 0 and goes "backwards"
    t = np.linspace(0, -50, 501)

    z0 = [1, 1]
    sol = odeint(mysys, z0, t)

    plt.plot(t, sol)
    plt.xlabel('t')
    plt.show()

プロット: 時間をさかのぼって ODE を解く

于 2012-11-05T21:30:11.233 に答える
0

変数 を変更してs = t_0 - t、 について微分方程式を積分できsます。odeint はこれを行いません。

于 2012-11-05T09:49:05.900 に答える