Как решить дифференциальное уравнение с граничными условиями, одним из которых является неравенство с использованием python - PullRequest
1 голос
/ 21 апреля 2019

Можно установить граничное условие, например, psi (z> L)

У меня есть система:

dD/dz = ....  
dPsi/dz = ....   

И граничные условия:

D(0) = 1,6*Pi  
Psi(z>L) < eps

Я читал о scipy.integrate.solve_bvp и odeint, но все примеры имеют граничные условия, такие как: y(0) = y(1) = 0

Кто-нибудь знает, как установить такое условие?

1 Ответ

0 голосов
/ 23 апреля 2019

Было бы проще ответить, если бы вы предоставили немного больше информации о проблеме. Если я правильно понимаю, L является пределом вашей интеграции, поэтому граничное условие на самом деле

Psi(L)=eps

В случае, если вы интегрируетесь за пределы L, вам, вероятно, потребуется условие для проверки на каждой итерации (новая точка и т. Д.). Нечто подобное:

if z>L and Psi(z)>=eps:
    do the action

Каким должно быть это действие, зависит от проблемы. Надеюсь, это поможет.

...