Здавалка
Главная | Обратная связь

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



Наибольшее распространение в инженерной практике получил метод Рунге-Кутты четвёртого порядка (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 Все права принадлежат авторам размещенных материалов.