我想在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))
目前没有回答
相关问题 更多 >
编程相关推荐