Главная > Математика > Численные методы
<< Предыдущий параграф
Следующий параграф >>
<< Предыдущий параграф Следующий параграф >>
Макеты страниц

2. Метод стрельбы (называемый также баллистическим).

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

Выберем произвольно значение и , рассмотрим левое краевое условие как алгебраическое уравнение и определим удовлетворяющее ему значение . Возьмем значения в качестве начальных условий задачи Коши для системы (50а) и проинтегрируем эту задачу Коши любым численным методом (например, по схемам Рунге—Кутта).

При этом получим решение и зависящее от , как от параметра.

Значение выбрано так, что найденное решение удовлетворяет левому краевому условию (506). Однако правому краевому условию это решение, вообще говоря, не удовлетворяет: при его подстановке левая часть правого краевого условия, рассматриваемая как некоторая функция параметра

не обратится в нуль. Надо каким-либо способом менять параметр , пока не подберем такое значение, для которого с требуемой точностью. Таким образом, решение краевой задачи (50) сводится к нахождению корня одного алгебраического уравнения

Эта алгебраическая задача изучена в главе V, § 2. Рассмотрим, какие методы ее решения целесообразно применять в данном случае.

Простейшим является метод дихотомии. Делают пробные выстрелы — расчеты с наудачу выбранными значениями до тех пор, пока среди величин не окажется разных по знаку. Пара таких значений образует «вилку». Деля ее последовательно пополам до получения нужной точности, производим пристрелку параметра . Благодаря этому процессу весь метод получил название стрельбы.

Однако нахождение каждого нового значения функции требует численного интегрирования системы (50а), т. е. достаточно трудоемко. Поэтому корень уравнения (52) желательно находить более быстрым методом, чем дихотомия.

Если правые части уравнений (50а) и левые части краевых условий (50б) имеют непрерывные и ограниченные первые производные, то также будет иметь непрерывную производную. В этом случае можно построить аналог метода Ньютона. Нам пока известен только способ вычисления а нужно научиться определять также производную

Входящие сюда производные по параметру от решения задачи Коши можно найти, если продифференцировать по этому параметру систему (50а). Вводя обозначения

и дифференцируя (50а) по параметру, получим

Одно из начальных условий для этой системы очевидно: (а) — ди второе условие нетрудно найти, дифференцируя левое краевое условие (506) по . Отсюда получим

Интегрируя систему (55а) с начальными условиями (556) совместно с задачей Коши для системы (50а), определим вспомогательные функции Подставляя их значения при в (53), найдем значение производной правого краевого условия по пристрелочному параметру. Новое значение параметра определяется по формуле касательных (5.28):

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

Можно избежать этого усложнения, если решать уравнение (52) разностным аналогом метода Ньютона — методом секущих. Для этого первые два расчета делают с наудачу выбранными значениями а следующие значения параметра вычисляют по формуле (5.32):

Вместо этого процесса можно использовать метод парабол, в котором также не требуется располагать явным выражением производных, а достаточно лишь знать об их существовании. Напомним, что последние три метода быстро сходятся вблизи корня; сходимость вдали от корня зависит от того, насколько удачно выбрано нулевое приближение.

Линейные задачи решаются методом стрельбы особенно просто. Пусть система (50а) и краевые условия (506) линейны;

Тогда начальные условия соответствующей задачи Коши примут вид

Нетрудно сообразить, что решение задачи Коши (58а), (58в) будет линейно зависеть от параметра , поэтому также будет линейной функцией.

Но линейная функция одного аргумента полностью определяется своими значениями в любых двух точках а ее график является прямой, т. е. совпадает со своей секущей. Значит, найденное по формуле секущих (57) значение является точным корнем уравнения (52), так что расчет с этим значением параметра даст искомое решение. Таким образом, для решения линейной краевой задачи достаточно трижды решить задачу Коши.

Замечание. Для линейных задач можно несколько уменьшить объем расчетов, если воспользоваться тем, что общее решение линейной неоднородной системы равно сумме ее какого-нибудь частного решения и общего решения соответствующей однородной системы. Найдем частное решение неоднородной системы (58а), (58в), соответствующее значению и обозначим его через . Затем рассмотрим соответствующую однородную задачу Коши

вычислим ее решение и обозначим его через . Тогда общее решение неоднородной задачи Коши, удовлетворяющее (в силу выбора начальных условий) левому краевому условию (586), является однопараметрическим семейством

Значение параметра с выбираем так, чтобы удовлетворить правому краевому условию (586):

Затем найдем искомое решение по формуле (59), что позволяет избежать третьего интегрирования задачи Коши.

Метод стрельбы прост, применим как к линейным, так и к нелинейным задачам и позволяет использовать при численном интегрировании схемы Рунге—Кутта (или другие) высокого порядка точности. К большинству задач типа (50) он применяется успешно.

Затруднения возникают в тех случаях, когда краевая задача (50) хорошо обусловлена, а соответствующая ей задача Коши плохо обусловлена. При этом численное интегрирование задачи

Коши определяет функцию с большой погрешностью, что осложняет организацию итераций.

В этом случае пробуют поставить начальные условия на другом конце отрезка т. е. интегрировать задачу Коши справа налево; нередко при этом устойчивость улучшается.

Если изменение направления интегрирования не помогает, то такую краевую задачу решают либо специальными, либо разностными методами.

Одним из специальных методов для линейных краевых задач является дифференциальная прогонка (ее идея предложена в [1], а подробное описание алгоритма имеется, например, в [3, 4]). Этот метод хорошо устойчив именно в том случае, когда задача Коши для исходной линейной системы плохо обусловлена; этот факт вызывал одно время большой интерес к прогонке. Однако при хорошей устойчивости линейной задачи Коши прогонка становится недостаточно устойчивой. Поэтому в настоящее время дифференциальная прогонка употребляется не часто. Обычно используются ее разностные аналоги, рассматриваемые ниже; они обеспечивают удовлетворительную устойчивость расчета в большинстве интересных случаев.

<< Предыдущий параграф Следующий параграф >>
Оглавление