Я пытаюсь найти численное решение и, в конечном итоге, график, модель Гилленберга-Уэбба (модель роста раковых клеток). Эта модель выглядит так:
Где β
- скорость размножения пролиферирующих клеток, µp
- смертность пролиферирующих клеток, µq
- смертность покоящихся клеток, а r0
и ri
- функции (скорости перехода ) из N(t)
. Также N(t) = P(t)+Q(t)
.
Для моих целей здесь я определил r_0(N) = bN
и r_i(N) = aN
, чтобы упростить задачу.
Моя проблема в том, что когда я пытаюсь построить свое решение с помощью pyplot, я получаю
ValueError: x и y должны иметь одинаковое первое измерение
что само собой разумеется, но я не уверен, как это исправить, не ломая все остальное.
Мой код, который я сделал только для первого уравнения:
import numpy as np
import matplotlib.pyplot as plt
import scipy.integrate
def fun(P,t, params):
beta, mp,b,N,Q = params
return(beta-mp-(b*N))*P+(a*N)*Q
params = (0.5,0.6,0.7,0.8,0.9)
tvec = np.arange(0,6,0.1)
s1 = scipy.integrate.odeint(
fun,
y0 = 1,
t = tvec,
args = (params,))
#print(s1)
plt.plot(fun,tvec)