在python中使用scipy.integrate.solve_ivp时,有没有办法绑定变量的值?

2024-09-28 21:56:40 发布

您现在位置:Python中文网/ 问答频道 /正文

我想在python中用两个变量x和u来求解IVP,但我需要u的值在0和1之间。现在它给了我一个关于u的负值的解决方案。这是我的密码

def model_case_3(t, z, Kmax, k, b, list_Kmax, sigma):
 a=1.5
 x, u= z
 m=1
 r = list_Kmax[0][0]
 dxdt =  (x)*(r*(1-a*u**2)*(1-x/(Kmax*(1-0.999*u**2)))-m/(k+b*u)-0.05)
 dudt = sigma*((-2*a*(b**2)*r*(u**3)+4*a*b*k*r*(u**2)+2*a*(k**2)*r*u-b*m)/((b*u+k)**2))
 return [dxdt, dudt]

 sol = solve_ivp(fun=model_case_3, t_span=[scaled_days[i][j][0], scaled_days[i][j][-1]], y0=[scaled_pop[i][j][0], list_u[0][0][0]], t_eval=scaled_days[i][j],  args=(list_Kmax[0][0], k0, b0, list_b, sigma0))

Tags: 密码modelreturndef解决方案dayssigmalist