Многошаговые методы порождают проблему, которая не возникала при использовании одношаговых методов. Нам задано начальное значение
Заметим также, что многошаговыми могут быть и неявные методы. В этом случае в формулы входят значения
На практике часто используют совместно явную и неявную формулы, что приводит к методам известным как методы прогноза и коррекции [23].
3.2.5. Порядок метода интегрирования.
Главный вопрос при использовании любого численного метода состоит в оценке точности приближенных вычислений
· ошибка дискретизации, возникающая в результате замены дифференциального уравнения (3.1) разностной аппроксимацией (3.2);
· ошибка округления, накопившаяся при выполнении арифметических операций.
При этом доминирующей является, как правило, ошибка дискретизации.
Будем считать, что все вычисления проводятся точно. Интуитивно ясно, что при
Введем величину
Очевидно, что повышение порядка метода позволяет повысить точность интегрирования при той же величине шага интегрирования
Рассмотрим, например, явный одношаговый метод Хьюна (или метод Рунге-Кутты второго порядка). Он определяется формулой
Сравнивая его с методом Эйлера легко заметить, что значение
Наиболее знаменитым из методов Рунге-Кутты, а возможно и из всех методов численного интегрирования, является классический метод четвертого порядка, задаваемый формулой
где
Суть метода в том, что вектор-функция правых частей системы ОДУ определяется не только в узлах сетки, но и в промежуточных точках интервала
Как видно, повышение порядка метода связано с повышением затрат на вычисление значений функции
Для многошаговых методов порядок напрямую связан с объемом информации, используемой на каждом шаге. В частности, двух и трехшаговые методы Адамса-Бишфорта, задаваемые формулами (3.10) и (3.11) имеют второй и третий порядок, соответственно.
3.2.6. Процедуры численного моделирования с
автоматическим выбором шага
Данный раздел касается не выбора того или иного метода интегрирования, а реализации самой процедуры интегрирования на ЭВМ.
Выше уже отмечалось, что выбор шага интегрирования связан с динамическими свойствами моделируемого объекта. Для явных методов он должен быть меньше минимальной постоянной времени объекта, с тем, чтобы обеспечить устойчивость и позволить моделировать самые высокочастотные составляющие процесса. Неявные методы позволяют использовать больший шаг, но общий характер зависимости остается тем же самым. В то же время, на интервале моделирования характер моделируемых процессов может меняться. Например, в большинстве реальных систем высокочастотные составляющие переходного процесса затухают быстрее, чем низкочастотные, и процесс со временем приобретает более плавный характер. Это наводит на мысль организовать процедуру моделирования таким образом, чтобы шаг интегрирования менялся в процессе работы алгоритма. Там, где решение меняется плавно, можно вести интегрирование с относительно большим шагом. В областях же, где решение изменяется резко, необходимо считать с маленьким шагом. Проблема заключается в том, как определить величину шага, с которым следует начать следующий шаг интегрирования.
На выбор шага, как обычно влияют два фактора – точность и устойчивость. Шаг целесообразно поддерживать таким, чтобы погрешность интегрирования не превышала допустимого значения и величина шага при этом была максимально возможной.
Обычный подход состоит в оценке локальной ошибки дискретизации и, в зависимости от ее величины, уменьшении или увеличении текущего значения шага.
Два простых способа состоят либо в прохождении последнего шага интегрирования с половинным шагом и сравнении двух полученных результатов, либо в использовании двух методов интегрирования, имеющих разный порядок. Оба эти способа требуют дополнительных вычислений значений
Первый способ реализует правило Рунге [29,23], при котором ошибка дискретизации определяется по формуле
где