Метод Эйлера для Лотки Вольтерры идет не так? - PullRequest
1 голос
/ 23 апреля 2019

Я пытаюсь сделать модель Лотки-Вольтерры, используя метод Эйлера, но я не получаю правильный график вообще.Это на Python.

Я попытался изменить tstep и массивы, которые улучшили его.Я заметил, что не могу сделать свой шаг по времени больше 0,1, а мой массив должен быть маленьким, следовательно, 50.

import math
import numpy as np
import matplotlib.pyplot as plt

alpha=3
beta=0.5
gamma=0.4
delta=3
tstep=0.05

t=np.zeros(50)
P=np.zeros(50)
N=np.zeros(50)
N[0]=2
P[0]=1

for i in range(0,49):
    deltaN= (alpha * N[i] - beta * N[i] * P[i]) * tstep
    deltaP= (gamma * N[i] * P[i] - delta * P[i]) * tstep
    t[i+1]= t[i] + tstep
    N[i+1]=N[i]+deltaN
    P[i+1]=P[i]+deltaP



print t
print"N=", N
print"P=", P    

plt.plot(t,N)
plt.plot(t,P)

Мой график не колеблется, как предполагается в модели Лотки-Вольтерра.Линия колеблется только один раз.

...