2014-10-10 3 views
-1

Я изучаю, как использовать odeint в Scipy для решения ODE. Теперь я пытаюсь решить уравнение Шредингера с полубесконечной потенциальной ямы:Как использовать scipy odeint для получения нескольких решений?

V(x) = -v (x<0) 
V(x) = 0 (x>0) 
v > 0 
-f''(x)/2 +V(x)f(x) = energy*f(x) 
-v < energy < 0 

Таким образом, точное решение должно быть

C1*sin(x)+C2*cos(x) (x<0) 
C3*exp(x)+C4*exp(-x) (x>0)  

Я установил начальную точку х < 0 области (с учетом f(x0),f'(x0),x0<0), но полученное решение всегда есть ехр (х) в области х> 0. Но exp (-x) более значим в физике. Как я могу получить это решение, используя odeint?

+1

Это не точное решение. Кроме того, попробуйте сначала понять разницу между проблемами начальных значений, проблемами с граничными значениями и проблемами с собственными значениями и решить, какой из них вы пытаетесь решить. –

+0

Я думаю, что это точное решение, при котором некоторые коэффициенты пренебрегают. Как уже было сказано, я хотел бы решить начальную задачу и сравнить точное решение с результатом 'odeint'. – Kala

+0

'odeint' дает вам решение проблемы с начальным значением. Решение проблемы с начальным значением уникально и задано 'odeint', и оно должно экспоненциально возрастать для большинства начальных значений. Поэтому вы не пытаетесь решить проблему с начальным значением. –

ответ

1

odeint SciPy решает ODE, как вы замечаете, но уравнение Шредингера является PDE (уравнение с частными производными). Вы можете дискретировать пространственную координату и рассматривать ее как систему связанных ОДУ, но обычным подходом является поиск собственной базы решений путем решения соответствующей задачи на собственные значения.

+0

Да, это PDE, но это одномерная система, поэтому есть только одна переменная, что означает, что мы можем рассматривать ее как ODE. – Kala

 Смежные вопросы

  • Нет связанных вопросов^_^