В численном анализе метод стрельбы — это метод решения краевой задачи путем сведения ее к начальному заданию . Он включает в себя поиск решений начальной задачи для различных начальных условий до тех пор, пока не будет найдено решение, которое также удовлетворяет граничным условиям краевой задачи. Говоря простым языком, человек «выстреливает» траектории в разных направлениях от одной границы до тех пор, пока не найдет траекторию, которая «попадет» в другое граничное условие.
Математическое описание
Предположим, что требуется решить краевую задачу Давайте решим начально-краевую задачу Если , то также является решением краевой задачи.
Метод стрельбы — это процесс решения задачи начального значения для многих различных значений до тех пор, пока не будет найдено решение , удовлетворяющее желаемым граничным условиям. Обычно это делается численно . Решение(я) соответствует корню(ям) Чтобы систематически изменять параметр стрельбы и находить корень, можно использовать стандартные алгоритмы поиска корня, такие как метод бисекции или метод Ньютона .
Корни и решения краевой задачи эквивалентны. Если является корнем , то является решением краевой задачи. Наоборот, если краевая задача имеет решение , оно также является единственным решением начальной задачи, где , поэтому является корнем .
Этимология и интуиция
Термин «метод стрельбы» берет свое начало в артиллерии. Аналогом метода стрельбы является
поместите пушку на позицию , затем
изменить угол наклона пушки, затем
стреляйте из пушки до тех пор, пока она не достигнет граничного значения .
Между каждым выстрелом направление пушки корректируется на основе предыдущего выстрела, поэтому каждый выстрел попадает ближе, чем предыдущий. Траектория, которая «попадает» в желаемое граничное значение, является решением граничной задачи — отсюда и название «метод стрельбы».
Метод линейной стрельбы
Краевая задача является линейной, если f имеет вид
В этом случае решение краевой задачи обычно определяется по формуле:
где — решение начальной задачи:
и — решение начальной задачи:
Точное условие, при котором выполняется этот результат, см. в доказательстве. [1]
Примеры
Стандартная краевая задача
Краевая задача сформулирована следующим образом Штером и Булиршем [2] (раздел 7.3.1).
Задача начального значения
была решена для s = −1, −2, −3, ..., −100, и F ( s ) = w (1; s ) − 1 изображена на рисунке 2. Рассматривая график F , мы видим, что есть корни вблизи −8 и −36. Некоторые траектории w ( t ; s ) показаны на рисунке 1.
Штёер и Булирш [2] утверждают, что существует два решения, которые можно найти алгебраическими методами.
Они соответствуют начальным условиям w ′(0) = −8 и w ′(0) = −35,9 (приблизительно).
Задача на собственные значения
Метод стрельбы также может быть использован для решения задач на собственные значения. Рассмотрим не зависящее от времени уравнение Шредингера для квантового гармонического осциллятора В квантовой механике ищутся нормируемые волновые функции и соответствующие им энергии, подчиняющиеся граничным условиям Задача может быть решена аналитически, чтобы найти энергии для , но также служит прекрасной иллюстрацией метода стрельбы. Чтобы применить его, сначала отметим некоторые общие свойства уравнения Шредингера:
Если — собственная функция, то таковой является и любая ненулевая константа .
-е возбужденное состояние имеет корни, где .
Для четного -е возбужденное состояние симметрично и отлично от нуля в начале координат.
Для нечетных -е возбужденное состояние антисимметрично и, следовательно, равно нулю в начале координат.
Чтобы найти -ое возбужденное состояние и его энергию , метод стрельбы заключается в следующем:
Угадайте немного энергии .
Интегрируем уравнение Шредингера. Например, используем центральную конечную разность
Если четно, установите некоторое произвольное число (скажем , волновую функцию в любом случае можно нормализовать после интегрирования) и используйте симметричное свойство, чтобы найти все оставшиеся .
Если нечетно, приравняйте и к некоторому произвольному числу (скажем , волновую функцию в любом случае можно нормализовать после интегрирования) и найдите все оставшиеся .
Подсчитайте корни и уточните оценку энергии .
Если корней больше или меньше, предполагаемая энергия слишком мала, поэтому увеличьте ее и повторите процесс.
Если корней больше , то предполагаемая энергия слишком высока, поэтому уменьшите ее и повторите процесс.
Угадывание энергии можно сделать методом деления пополам , и процесс можно прекратить, когда разница энергий станет достаточно малой. Тогда можно взять любую энергию в интервале в качестве правильной энергии.
^ Мэтьюз, Джон Х.; Финк, Куртис К. (2004). "9.8 Задачи с граничными значениями". Численные методы с использованием MATLAB (PDF) (4-е изд.). Upper Saddle River, NJ: Pearson. ISBN 0-13-065248-2. Архивировано из оригинала (PDF) 9 декабря 2006 г.
^ ab Stoer, J. и Bulirsch, R. Введение в численный анализ . Нью-Йорк: Springer-Verlag, 1980.
Ссылки
Press, WH; Teukolsky, SA; Vetterling, WT; Flannery, BP (2007). "Раздел 18.1. Метод стрельбы". Numerical Recipes: The Art of Scientific Computing (3-е изд.). Нью-Йорк: Cambridge University Press. ISBN 978-0-521-88068-8.
Внешние ссылки
Краткое описание ODEPACK (в Netlib ; содержит LSODE)
Метод стрельбы для решения краевых задач – Notes, PPT, Maple, Mathcad, Matlab, Mathematica в Институте целостных численных методов [1]