我正在解决一个ODE系统,我有一些问题需要理解如何正确设置边界条件,这可能与我没有得到任何解决方案有关
我需要解这些方程,将高x值降到x~0:
以及下列边界条件:
v(x=1)=1&;a(x=1)=2
我迄今编写的代码如下所示:
def func(x, r):
v, a = r
dvdx = ( ((x - v)*a - 2/x ) * (x - v) ) / ( (x - v)**2 - 1 )
dadx = ( (a - 2/x * (x - v)) * (x - v) )*a / ( (x - v)**2 - 1 )
return dvdx, dadx
def bc(rv, ra):
return np.array((rv[1], ra[1]-2))
x = np.linspace(0.1, 100, 1000)
y = np.zeros((2, x.size))
sol = solve_bvp(func, bc, x, y)
但是当我执行代码时,我得到了0个错误的除法。这是有道理的,因为对于x=1,我方程的分母是0。但边界条件不应该解释这一点吗
目前没有回答
相关问题 更多 >
编程相关推荐