使用python的边界条件的二阶ODE

时间:2018-02-26 16:01:32

标签: python odeint

我正在尝试使用y'' + ay' + by + c = 0在python中以odeint(二阶微分方程)的形式求解方程。据我所知,odeint仅适用于y(0)= y1,y'(0)= y2形式的初始条件。虽然我的条件是边界:y'(0)= 0,y'(pi / 4)= 0.有没有办法在这样的条件下使用odeint?这是我的代码:

from scipy.integrate import odeint
import numpy as np

def lagrange(x, teta):
  y = x[0]
  dy = x[1]  
  xdot = [[],[]]
  xdot[0] = dy
  xdot[1] = (y + dy**2*y*(y**2 + dy**2)**(-1.5) + y*(y**2+dy**2)**(-0.5))/((y**2+dy**2)**(-0.5) - dy**2*(y**2+dy**2)**(-1.5))
  return xdot

phi = np.linspace(0,np.pi/4,100)

U = odeint(lagrange, [u1_0, u2_0], phi)

0 个答案:

没有答案