0

次の微分方程式を積分しています

ここに画像の説明を入力

このコードでは、JiTCDDE を使用しています。

def model(p, q, r, alpha, T, tau, tmax, ci, step):
    f = [(p*y(0)+alpha*y(1, t-tau)), (r*y(0)+q*y(1))]
        
    DDE = jitcdde(f)


    DDE.constant_past(ci)

    DDE.adjust_diff()

     
    data = []
    for time in np.arange(DDE.t, DDE.t+tmax, step):
        data.append( DDE.integrate(time)[1])
    return data

そしてこのパラメータで

T=3        #escala temporal
p=-2.4/T
q=-1.12/T
r=1.5/T
alpha=.4/T
tau=T*2.4     #delay
tmax=30
step = 1
ci = np.array([1300, 0])

私の問題は、得られたデータをプロットすると

data = model(p, q, r, alpha, T, tau, tmax, ci, step)

次のように、最大​​で非常に滑らかではないプロファイルを取得します。

ここに画像の説明を入力

積分ステップを 0.1 に変更すると、次のようになります。

ここに画像の説明を入力

しかし、そのプロットは私が望む30ではなく300になります

問題は、方程式を t=30 まで統合する方法はありますが、 t=300 になるように平滑化する方法はありますか? パラメータを変更するだけでそれを行うことはできますか??

4

1 に答える 1