Смекни!
smekni.com

А. В. Воронин (стр. 19 из 29)

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

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

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

, которые могут быть определены только неявно, и найдены в результате решения системы алгебраических уравнений. Методы этой группы обычно называются методами Адамса-Моултона.

На практике часто используют совместно явную и неявную формулы, что приводит к методам известным как методы прогноза и коррекции [23].

3.2.5. Порядок метода интегрирования.

Главный вопрос при использовании любого численного метода состоит в оценке точности приближенных вычислений

. В разделе 3.2.1 уже отмечалось, что существуют два источника погрешности при выполнении шага интегрирования:

· ошибка дискретизации, возникающая в результате замены дифференциального уравнения (3.1) разностной аппроксимацией (3.2);

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

При этом доминирующей является, как правило, ошибка дискретизации.

Будем считать, что все вычисления проводятся точно. Интуитивно ясно, что при

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

Введем величину

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

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

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

Рассмотрим, например, явный одношаговый метод Хьюна (или метод Рунге-Кутты второго порядка). Он определяется формулой

Сравнивая его с методом Эйлера легко заметить, что значение

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

Наиболее знаменитым из методов Рунге-Кутты, а возможно и из всех методов численного интегрирования, является классический метод четвертого порядка, задаваемый формулой

где

Суть метода в том, что вектор-функция правых частей системы ОДУ определяется не только в узлах сетки, но и в промежуточных точках интервала

, а величина
в методе Эйлера заменена на взвешенное среднее значений
, вычисленных в четырех различных точках.

Как видно, повышение порядка метода связано с повышением затрат на вычисление значений функции

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

Для многошаговых методов порядок напрямую связан с объемом информации, используемой на каждом шаге. В частности, двух и трехшаговые методы Адамса-Бишфорта, задаваемые формулами (3.10) и (3.11) имеют второй и третий порядок, соответственно.

3.2.6. Процедуры численного моделирования с

автоматическим выбором шага

Данный раздел касается не выбора того или иного метода интегрирования, а реализации самой процедуры интегрирования на ЭВМ.

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

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

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

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

.

Первый способ реализует правило Рунге [29,23], при котором ошибка дискретизации определяется по формуле

где

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