Главная > Математика > Численные методы для ПЭВМ на языках Бейсик, Фортран и Паскаль
<< Предыдущий параграф
Следующий параграф >>
<< Предыдущий параграф Следующий параграф >>
Макеты страниц

6.7. Метод Гира

Одним из методов Рунге-Кутты получим решая задачи Коши

в точках В окрестности узлов искомое решение приближенно заменим интерполяционным полиномом Ньютона четвертой степени, аналогичным (6.26),

где разделенные разности первого - четвертого порядков.

Левую часть уравнения (6.31) приближенно найдем путем дифференцирования по х полинома (6.32)

Разделенные разности для равноотстоящих узлов выражаются через узловые значения аппроксимируемой функции

где

Полагая в выражении для производной (6.33) значение аргумента и учитывая значения разделенных разностей (6.34), получим

С другой стороны, уравнение (6.31) при принимает вид

Приравняем правые части соотношений (6.35), (6.36) и найдем

Формула (6.37) представляет собой неявную схему Гира четвертого порядка для решения задачи Коши [58]. Изменяя количество узлов можно аналогичным способом получить формулы Гира как более низких, так и более высоких порядков.

Неявные алгоритмы Гира наиболее эффективны для решения так называемых жестких уравнений, особенностью которых является медленное изменение их решений при наличии быстро затухающих возмущений [59]. Жесткими уравнениями моделируются переходные процессы в нелинейных электронных схемах, и применение неявных методов ускоряет на несколько порядков время интегрирования по сравнению с явными методами [58, 60].

Для нахождения значения из уравнения (6.37) можно применить метод простых итераций, однако для реализации достоинств неявного метода в отношении выбора шага при интегрировании жестких уравнений в [58] рекомендуется использовать метод Ньютона. Для любого из выбранных Методов требуется знать начальное приближенное к искомой величине Полагая в выражении для производной (6.33) значение аргумента будем иметь

Приравнивая правые части исходного уравнения (6.31) при и выражения (6.38), получим схему прогноза, с помощью которой можно найти начальное приближение для решения уравнения (6.37)

В прграммах 6.7 реализован простейший вариант метода Гира четвертого порядка для системы ОДУ по схеме с одной коррекцией прогнозированного значения. Нетрудно усложнить алгоритм, воспользовавшись подпрограммой метода Ньютона из программ 1.4.

Основной блок каждой из программ 6.7 совпадает с соответствующим блоком программ 6.6.

В программе первая часть подпрограммы метода Гира (строки выполняется только один раз и предназначена для подготовки Начальных данных для многоточечного метода. В цикле по переменной К осуществляется обращение к методу Рунге-Кутты четвертого порядка и накопление полученных результатов в двумерном массиве

Формула прогноза (6.39) реализована операторами, расположенными в строках 150-170. Здесь же осуществляется запоминание начальных условий на текущем шаге в массиве Операторы, реализующие формулу коррекции (6.38), размещены в строках 180-210. В одном цикле удалось совместить получение новых значений и сдвиг элементов массива для подготовки к выполнению следующего шага интегрирования.

Подпрограммы метода Рунге-Кутты (строки 300-390) и вычисления правых частей системы ОДУ (строки 400-490) такие же, как и в программах 6.6.

В программе метод Гира реализован в виде подпрограммы с именем с формальными параметрами, совпадающими по смыслу и обозначениям с параметрами подпрограммы

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

Во втором файле содержится процедура реализующая метод Гира, и основная программа. Процедура для метода Рунге-Кутты объявлена здесь как внешняя.

И в третьем файле содержится процедура

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

Конечно, программу можно было построить аналогично программе Выбранная структура показывает возможности блочной реализации программ на языке Паскаль в составе используемой операционной системы.

Для тестирования программ 6.7 можно воспользоваться данными табл. 6.2.

(см. скан)

(см. скан)

(см. скан)

(см. скан)

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