Нахождение собственных значений и собственных функций ОДУ в Mathematica - PullRequest
2 голосов
/ 19 ноября 2011

Допустим, каждому дано ODE y '' + ay = 0 с граничными условиями y '(0) = 0 и y' (1) = 0. Как использовать Mathematica для нахождения собственных значений и собственных функций? Что если дать более общее ОДУ, скажем, y '' + (y ^ 2 - 1/2) y = 0 с такими же граничными условиями?


На этот вопрос ответил комментарий Саймона ниже.

1 Ответ

5 голосов
/ 19 ноября 2011

DSolve дает решения только для "общих" параметров, поэтому

DSolve[y''[x] + a^2 y[x] == 0 && y'[0] == 0 && y'[1] == 0, y, x]

возвращает только тривиальные {{y -> Function[{x}, 0]}}.

Если вы считаете $ -a ^ 2 $ собственным значением оператора второй производной с граничными условиями скорости 0, сначала решите

In[1]:= sol = DSolve[y''[x] + a^2 y[x] == 0, y, x]
Out[1]= {{y -> Function[{x}, C[1] Cos[a x] + C[2] Sin[a x]]}}

затем примените граничные условия, используя Reduce (где, чтобы упростить результат, я также предположил, что a != 0 и что sol не тривиально)

In[2]:= Reduce[y'[0] == 0 && y'[1] == 0 && 
               a != 0 && (C[1] != 0 || C[2] != 0) /. sol, 
               a] // FullSimplify

Out[2]= Element[C[3], Integers] && C[2] == 0 && C[1] != 0 && 
        ((a == 2*Pi*C[3] && a != 0) || Pi + 2*Pi*C[3] == a)

, который говорит, что собственные векторы пропорциональны $ \ cos (a x) $ для $ a = 2 n \ pi $ или $ a = (2 n + 1) \ pi $ с $ n $ целым числом.


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

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...