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

11. Сгущение сетки.

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

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

Поэтому основным практическим приемом является апостериорная оценка точности. Для ее получения расчет проводят на двух или более сгущающихся сетках и применяют правило Рунге или Рунге — Ромберга (см. главу III, п. 3). Напомним, в чем оно заключается.

Вспомним априорную оценку погрешности схемы ломаных (18).

Запишем ее, опуская первое слагаемое, связанное с неточным заданием начальных данных:

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

Если сетка равномерная, , то остаточный член типа (43) для схемы порядка точности пропорционален Поэтому при сгущении равномерной сетки применима оценка точности по Рунге. Если имеются численные решения на двух сетках , где , то погрешность решения на сетке с меньшим шагом составляет

Вместо оценки точности можно погрешность (43) прибавить к численному решению, уточнив его:

но тогда вопрос о погрешности уточненного решения остается открытым.

Приведенное рассуждение справедливо и в том случае, если сетки с разным числом узлов не равномерны, но их можно описать функциями отношение которых есть . Это выполняется, например, для квазиравномерных сеток (описанных в главе III, п. 4).

При выводе оценок типа (18) старшими членами формулы Тейлора (13) пренебрегают. Если их учесть (считая правую часть уравнения непрерывно дифференцируемой достаточное число раз), то погрешность выразится суммой, где последующие слагаемые содержат более высокие степени и соответствующие производные. В этом случае можно уточнять численное решение по правилу Ромберга или по рекуррентному правилу Рунге, используя расчеты на k различных сетках. Применение этих правил эквивалентно построению некоторой схемы более высокого порядка точности , где — порядок точности исходной схемы. Разумеется, фактически получить точность можно только для q раз непрерывно дифференцируемых решений

Правило Рунге применимо для сеток с любым отношением шагов . Но используют его преимущественно для целого , когда все узлы менее подробной сетки являются узлами более подробной; особенно удобно сгущать сетки вдвое (рис. 44).

При этом как для равномерных, так и для квазиравномерных сеток условие совпадения узлов выполняется.

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

Рис. 44.

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

Значение поправок в остальных узлах найдем простейшей интерполяцией. Для равномерных или квазиравномерных сеток можно положить

Затем вычислим уточненные значения

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

Примеры применения правила Рунге даны в таблице 18 (п. 5) и таблице 19 (п. 6), содержащих численное решение задачи

В таблице 18 интегрирование выполнено по схеме ломаных (15), и для уточнения использованы сетки с ; видно, что, несмотря на плохую точность исходной схемы, уточненное решение не сильно отличается от искомого. В таблице 19 уточнено численное решение, найденное по неплохой схеме Рунге—Кутта второго порядка точности (22); это уточнение уже близко к искомому решению, несмотря на очень грубую сетку.

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