Как построить систему неавтономных дифференциальных уравнений в питоне с помощью ползунков? - PullRequest
0 голосов
/ 30 января 2019

Я хотел бы построить систему дифференциальных уравнений в iPython Jupyter Notebook, где все дифференциальные уравнения неавтономны.Мне удалось успешно построить простую систему автономных уравнений с ползунками для параметров, как показано ниже:

import numpy as np
from scipy.integrate import odeint
import matplotlib.pyplot as plt
from IPython.html.widgets import *
import ipywidgets as wg
from IPython.display import display 
from numpy import pi

def plot_solution(a=1.,b=1.,c=1.,d=0.5):
    def f(s, t):

        l, p = s
        dldt = a*l - b*l*p
        dpdt = -c*p + d*l*p
        return [dldt, dpdt]

    t = np.arange(0,10*np.pi,0.01)
    s0=[0.1,5]

    s = odeint(f, s0, t)

    plt.plot(t,s[:,0],'r-', linewidth=2.0)
    plt.plot(t,s[:,1],'b-', linewidth=2.0)
    plt.xlabel("day in menstrual cycle")
    plt.ylabel("concentration (ng/mL)")
    plt.legend(["LH","P"])
    plt.show()

w = interactive(plot_solution, a=(-2.0,2.0), b=(-2.0,2.0), c=(-2.0,2.0), d=(-2.0,2.0))
display(w)

Однако я хотел бы изменить приведенный выше код, чтобы включить скольжение параметров для системы уравненийкоторые более или менее имеют вид:

dF / dt = a (1 + b (1 - E (t-1) / K) - F (t) / K) * F (t)

и система также включает в себя неавтономное уравнение для dE / dt, а другие значения в уравнении являются постоянными.Я не знаю достаточно о дифференциальных уравнениях и Python, чтобы понять, как это сделать, поэтому, если кто-то может мне помочь, это будет с благодарностью!

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...