Метод Рунге-Кутты четвертого порядка
Наибольшее распространение в инженерной практике получил метод Рунге-Кутты четвёртого порядка (m=4), описываемый следующими формулами: (1.16) Векторы Fi , i=1,2,3,4 – суть значения вектор- функции правых частей f(x(t),t), вычисленных при различных значениях аргумента. Зависимость каждого вектора Fi , от предыдущего обусловливает необходимость последовательного их вычисления в порядке нумерации. Методы Рунге-Кутты второго порядка на каждом шаге требуют лишь двух вычислений правой части уравнения (1.6), т.е. в два раза меньше, чем метод (1.16). Однако допускаемая на каждом шаге локальная ошибка алгоритма (1.11), в отличие от h5 для m=4, пропорциональна величине h3 . Следовательно, для достижения одинаковой точности интегрирования, методы второго порядка требуют меньшего значения шага, а значит, большего числа шагов. Кроме того, эти методы накладывают более жёсткие ограничения на интервал допустимых значений шага интегрирования, при которых достигается устойчивость вычислительного алгоритма[3]. ОПИСАНИЕ ПРОГРАММНЫХ МОДУЛЕЙ В ходе работы была составлена программа на языке Pascal , вычисляющая точное и приближенные решения дифференциального уравнения (1.1) с начальными условиями (1.3), полученные двумя методами: Рунге-Кутты второго и четвёртого порядка. Программа имеет четыре части: 1. Основная программа. 2. Процедура Right вычисления правых частей системы уравнений. 3. Процедура TochSolve вычисления точного решения. 4. Процедура RK_2 реализации одного шага интегрирования методом Рунге-Кутты второго порядка. 5. Процедура RK_4 реализации одного шага интегрирования методом Рунге-Кутты четвертого порядка.
Основная программа
Программа содержит в себе следующие переменные: toch – переменная для хранения точного решения ДУ; tf – величина, определяющая конец интервала интегрирования; h – шаг интегрирования (вводиться пользователем с клавиатуры); et – ошибка интегрирования при текущем узле; Emax – оценка ошибок интегрирования на отрезке. x – решение, полученное методом Рунге-Кутты второго или четвертого порядков. Типа vector, который определяется, как матрица-вектор вещественных чисел, размерностью (1x2), т.е. vektor = array[1..2]of real; f – переменная файлового типа. Здесь text – имя стандартного типа текстового файла, т.е. f : text; name – переменная типа string с максимальным количеством символов = 20,т. е. name: string[20]; str– шаг вывода результатов на экран; n0 – счетчик печати; n – порядок метода (вводится пользователем с клавиатуры); t0, tf – пределы интегрирования, определённые вариантом задания; tk– переменная интегрирования.
Ошибка интегрирования вычисляется по формуле Оценка ошибки интегрирования вычисляется по формуле Основная программа работает следующим образом: Для проведения исследования процедура запрашивает имя файла для вывода результатов, порядок метода, величину шага интегрирования, а также с каким шагом будут выводиться результаты на каждом шаге интегрирования. Результаты выводятся в файл и на экран (точное решение, приближенное решение и ошибка, оценка ошибки интегрирования). Схема программы приведена в приложении А. Текст программы приведен в приложении Б. ©2015 arhivinfo.ru Все права принадлежат авторам размещенных материалов.
|