Я столкнулся с проблемой в этом уравнении, использую ли я odeint
или solve_ivp
для решения.
import numpy as np
from scipy.integrate import solve_ivp
import matplotlib.pyplot as plt
def ODE(E, p):
u, v = p
n = 3.25
dudE = v
dvdE = -(u**n)-(2*v/E)
return [dudE, dvdE]
P0 = [1,0]
solve = solve_ivp(ODE, (0.001,10), P0, t_eval=np.linspace(0.001,10,500))
Я не могу позволить n=3.25
или n=0.25
et c. Он имеет ошибку типа
Project_q2d.py:19: RuntimeWarning: invalid value encountered in double_scalars
dvdE = -(u**n)-(2*v/E)
Но если пусть n
является целым числом, он будет работать без проблем. Кто-нибудь может мне помочь?