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

6.4. Метод Рунге-Кутты четвертого порядка

Для построения вычислительных схем методов Рунге-Кутты четвертого порядка в тейлоровском разложении искомого решения учитываются члены, содержащие степени шага до четвертой включительно. После аппроксимации производных правой части ОДУ f(x, у) получено семейство схем Рунге-Кутты четвертого порядка [56], из которых наиболее используемой в вычислительной практике является следующая:

где

Схема (6.18) на каждом шаге требует вычисления правой части ОДУ в четырех точках. Локальная погрешность схемы имеет пятый порядок,

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

где

номер уравнения в системе ОДУ из уравнений.

Программы 6.4 составлены в соответствии с блок-схемой (рис. 6.2) для интегрирования систем ОДУ по алгоритму (6.19). В программе по сравнению с программами для методов второго порядка добавлен только один дополнительный массив. Основной блок программ 6.4 аналогичен соответствующим блокам программ, приведенных в предыдущих разделах настоящей главы.

В подпрограмме метода интегрирования задачи Коши в строке 100 с помощью операторов присваивания задается значение переменной в алгоритме), инициализируется начальное значение вспомогательной переменной предназначенной для формирования текущего значения первого аргумента функций запоминается начальная точка интегрирования (переменная С помощью цикла в строке 110 в массиве запоминаются начальные условия задачи Коши, в массиве инициализируются начальные значения для получения суммы в правой части формулы (6.19), а в цикле по переменной (строки 120-180) накапливается вся сумма С помощью двух условных операторов, проверяющих значение переменной формируется первый аргумент функции и получение величины

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

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

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

В приводимом тексте программы подпрограмма для правых частей составлена для уравнения Ван дер Поля

которое является математической моделью автоколебательных механических и электронных систем. Параметр в уравнении (6.20) определяет нелинейные свойства системы. Для малых и больших значений параметра в теории колебаний развиты приближенные методы аналитического решения уравнения Ван дер Поля. Для промежуточных значений параметра уравнение приходится решать численными методами.

Для приведения уравнения (6.20) к форме Коши введем обозначения тогда получим систему уравнений

В подпрограмме для производных в строках 200-210 расположены операторы для вычисления правых частей системы (6.21).

В программах метод Рунге-Кутты четвертого порядка реализуется в подпрограмме с именем с формальными параметрами, совпадающими по смыслу с параметрами подпрограммы (программы 6.1).

Оценку погрешности решений системы ОДУ, получаемых методом Рунге-Кутты четвертого порядка, можно провести по первой формуле Рунге (6.9), которая при кратности изменения шага принимает вид

Однако применение формулы Рунге требует значительных затрат времени для повторного просчета. Непосредственно для схем (6.18) и (6.19) не удается построить алгоритм, подобный использованному в программах для вычисления интегралов.

(см. скан)

(см. скан)

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