Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Liektsiia_difur.doc
Скачиваний:
15
Добавлен:
18.09.2019
Размер:
588.8 Кб
Скачать

Неявные методы

Все предыдущие методы (и методы Рунге-Кутта и методы Адамса) явно вычисляют значение в точке по информации в предыдущих точках (одной или нескольких). По этой причине их называют явными методами.

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

Запишем метод Эйлера по аналогии с формулой (12), но теперь производную от искомого решения будем вычислять не в предыдущей (известной) точке, а в искомой точке ( ). В результате получим

(17)

Эта формула по внешнему виду мало отличается от явного метода (12), но теперь для нахождения искомой величины необходимо решить неявное уравнение, поскольку она входит и в правую, и в левую части уравнения.

Можно точно также построить (по аналогии с приведенными ранее рассуждениями) неявные методы Рунге-Кутта более высокого порядка точности. Можно также построить неявные многошаговые методы.

На первый взгляд, необходимость решения неявного уравнения существенно усложняет метод. Действительно теперь на каждом шаге придется выполнять дополнительные вычисления, связанные с решением неявного алгебраического уравнения типа (17). Однако, неявные методы обладают рядом существенных достоинств по сравнению с неявными методами. В частности, они гораздо более устойчивы и позволяют вести интегрирование дифференциального уравнения с гораздо большим шагом для получения той точности, чем это допускается в неявных методах. В результате в некоторых задачах (в частности, в так называемых «жестких» задачах, рассмотренных ниже) решение может быть получено только с использованием неявных методов.

Метод «прогноза–коррекции»

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

а) прогноз

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

б) коррекция

Затем можно использовать неявный метод Эйлера (17) (или более точный неявный метод), решая неявное уравнение относительно методом простых итераций (см. лекцию о нахождении корней алгебраических нелинейных уравнений). Выполняя последовательно итерации, будем получать последовательные приближения для искомой величины :

На практике, достаточно выполнять три-четыре итерации, чтобы получить нужную точность.

Понятие о неустойчивости численных методов

В большинстве случае явные методы (методы Рунге-Кутта или методы Адамса) вполне достаточны для получения решения с нужной точностью. И, как правило, решение может быть получено достаточно быстро (в чем вы убедитесь на лабораторных работах, используя для этих целей MathCad).

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

Первый из них связан с возможной собственной неустойчивостью самого решения и с неустойчивостью численного метода.

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

Для иллюстрации рассмотрим задачу

Эта задача имеет точно решение .

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

Поэтому для начального условия (для любого малого ) получим решение, которое стремится к нулю при , а для начального условия получим неограниченно растущее решение (рисунок 8).

Таким образом, решение является неустойчивым относительно малых возмущений в начальных условиях. Поэтому решение практически невозможно получить численным способом, так как малейшие ошибки (неизбежно присутствующие в численных расчетах, например, за счет округления) уведут решение от истинного (y=2) на какое-то другое.

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

где вектор сил реакции поверхности на шарик.

Рисунок

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

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

Однако, неустойчивость может быть свойством и численного метода (в то время как само решение уравнения является устойчивым в указанном выше смысле).

Для иллюстрации рассмотрим задачу

,

точное решение которой имеет вид . В указанном выше смысле это решение устойчиво относительно начальных условий.

Применим теперь для решения этой задачи численный метод ():

Для данной задачи . Поэтому метод в данном случае дает

Эта формула порождает некоторую последовательность , поведение которой может быть полностью проанализировано []:

.

Видно, что при (при любом h)_первое слагаемое стремится к нулю, а второе, осциллируя, стремится к бесконечности.

Таким образом, применяя выбранный метод, получить решение данной задачи невозможно.

В этом случае неустойчивым оказался сам численный метод (при устойчивом решении дифференциального уравнения).

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]