Добавление ограничения в дифференциальную систему - PullRequest
0 голосов
/ 14 марта 2020

Есть ли способ добавить ограничение на переменные моей системы ODE? У меня есть код для моей системы ниже:

a=3
d=0.5
g=1
p=2
r=0.5
y0=[0.1,0]

def system(y, t, g, r, a, p, d):
    Stem, Non = y
    dydt = [d*(g-r)*(1-(Stem+Non)*(Stem+Non)*Stem), (1-d)*g*(1-(Stem+Non)*(Stem+Non)*Stem)-a*Non+(p-r)*(1-(Stem+Non)*(Stem+Non)*Non)]
    return dydt

t=np.linspace(0,10,101)
from scipy.integrate import odeint
sol = odeint(system, y0, t, args=(g,r,a,p,d))

import matplotlib.pyplot as plt
plt.plot(t, sol[:, 0], 'b', label='Stem(t)')
plt.plot(t, sol[:, 1], 'g', label='Non(t)')
plt.legend(loc='best')
plt.xlabel('t')
plt.title('Case 1a, small amount of CSC to start')
plt.grid()
plt.show()

Я хотел бы добавить ограничение: Stem + Non меньше или равно 1.

...