Изменение шага в многошаговых методах

ЦЕЛЬ ЛЕКЦИИ: Показать, как можно на основе так называемого вектора Нордсика, не прибегая к задаче интерполяции, эффективно изменять шаг интегрирования в процессе численного решения обыкновенных дифференциальных уравнений.

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

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

изменение шага в многошаговых методах - student2.ru .

Если в момент времени изменение шага в многошаговых методах - student2.ru принимается решение об изменении шага интегрирования, т. е. изменение шага в многошаговых методах - student2.ru , где изменение шага в многошаговых методах - student2.ru , то для выполнения шага интегрирования многошаговым методом необходимы предшествующие значения решения и значения его производной в моменты времени изменение шага в многошаговых методах - student2.ru . Эти значения образуют вектор

изменение шага в многошаговых методах - student2.ru ,

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

Имеется другой путь. Введем так называемый вектор Нордсика, который для значений временного шага изменение шага в многошаговых методах - student2.ru и изменение шага в многошаговых методах - student2.ru имеет вид

изменение шага в многошаговых методах - student2.ru ,

изменение шага в многошаговых методах - student2.ru .

Заметим, что изменение шага в многошаговых методах - student2.ru , так как эти величины относятся к одному и тому же моменту времени изменение шага в многошаговых методах - student2.ru .

Следовательно, значения векторов изменение шага в многошаговых методах - student2.ru и изменение шага в многошаговых методах - student2.ru связаны простым соотношением

изменение шага в многошаговых методах - student2.ru ,

или в компактной форме

изменение шага в многошаговых методах - student2.ru ,

где изменение шага в многошаговых методах - student2.ru – диагональная матрица.

С другой стороны, вектор Нордсика может быть определен посредством следующего линейного преобразования переменных:

изменение шага в многошаговых методах - student2.ru ,

где изменение шага в многошаговых методах - student2.ru – невырожденная матрица преобразования переменных линейного многошагового метода.

Объединение введенных матричных преобразований приводит к линейной системе

изменение шага в многошаговых методах - student2.ru ,

из которой для заданного вектора изменение шага в многошаговых методах - student2.ru можно найти искомый вектор изменение шага в многошаговых методах - student2.ru . Так как матрица изменение шага в многошаговых методах - student2.ru имеет невысокий порядок, то такая процедура перехода от изменение шага в многошаговых методах - student2.ru к изменение шага в многошаговых методах - student2.ru оказывается достаточно эффективной.

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

изменение шага в многошаговых методах - student2.ru

и

изменение шага в многошаговых методах - student2.ru .

При построении матрицы изменение шага в многошаговых методах - student2.ru воспользуемся тем свойством, что явный

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

изменение шага в многошаговых методах - student2.ru .

Очевидно, что

изменение шага в многошаговых методах - student2.ru .

Полагая величину изменение шага в многошаговых методах - student2.ru постоянной на трех шагах, выберем изменение шага в многошаговых методах - student2.ru , изменение шага в многошаговых методах - student2.ru , изменение шага в многошаговых методах - student2.ru и вычислим из соотношений для изменение шага в многошаговых методах - student2.ru , изменение шага в многошаговых методах - student2.ru зна-чения изменение шага в многошаговых методах - student2.ru :

изменение шага в многошаговых методах - student2.ru .

Решим эту систему относительно коэффициентов изменение шага в многошаговых методах - student2.ru :

изменение шага в многошаговых методах - student2.ru

Подставляя значения коэффициентов изменение шага в многошаговых методах - student2.ru в соотношения для изменение шага в многошаговых методах - student2.ru , нетрудно найти, что

изменение шага в многошаговых методах - student2.ru

В итоге связь вектора Нордсика явного метода Адамса третьего порядка с вектором изменение шага в многошаговых методах - student2.ru имеет следующий вид:

изменение шага в многошаговых методах - student2.ru .

Это преобразование переменных имеет место также для неявного метода Адамса четвертого порядка. Действительно, неявный метод Адамса четвертого порядка является трехшаговым методом и для него векторы изменение шага в многошаговых методах - student2.ru и изменение шага в многошаговых методах - student2.ru такие же, как и для явного метода Адамса третьего порядка.

Наконец, в случае метода Гира третьего порядка (он является трехшаговым) векторы изменение шага в многошаговых методах - student2.ru и изменение шага в многошаговых методах - student2.ru соответственно равны

изменение шага в многошаговых методах - student2.ru

Действуя по аналогии, нетрудно получить, что

изменение шага в многошаговых методах - student2.ru .

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

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

Замечание 1. При оценке погрешности интегрирования многошагового метода порядка изменение шага в многошаговых методах - student2.ru по формуле изменение шага в многошаговых методах - student2.ru изменение шага в многошаговых методах - student2.ru необходимо вычислить значение изменение шага в многошаговых методах - student2.ru . Это легко сделать, используя изменение шага в многошаговых методах - student2.ru -ю компоненту вектора Нордсика на двух соседних шагах:

изменение шага в многошаговых методах - student2.ru .

Погрешность расчета находится следующим образом:

изменение шага в многошаговых методах - student2.ru .

Замечание 2. При изменении шага интегрирования изменение шага в многошаговых методах - student2.ru локальная погрешность оценивается по формуле

изменение шага в многошаговых методах - student2.ru .

Из этого соотношения легко найти параметр изменение шага в многошаговых методах - student2.ru :

изменение шага в многошаговых методах - student2.ru ,

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

Наши рекомендации