Разработка алгоритма метода Рунге — Кутта четвертого порядка для решения систем дифференциальных уравнений на примере системы Лоренца | Статья в журнале «Молодой ученый»

Отправьте статью сегодня! Журнал выйдет 30 ноября, печатный экземпляр отправим 4 декабря.

Опубликовать статью в журнале

Автор:

Рубрика: Информационные технологии

Опубликовано в Молодой учёный №27 (369) июль 2021 г.

Дата публикации: 28.06.2021

Статья просмотрена: 3251 раз

Библиографическое описание:

Лобашевская, В. А. Разработка алгоритма метода Рунге — Кутта четвертого порядка для решения систем дифференциальных уравнений на примере системы Лоренца / В. А. Лобашевская. — Текст : непосредственный // Молодой ученый. — 2021. — № 27 (369). — С. 24-27. — URL: https://moluch.ru/archive/369/82905/ (дата обращения: 18.11.2024).



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

Ключевые слова: Рунге-Кутта четвертого порядка, система Лоренца, решение дифференциальных уравнений, С++, Python.

Численный метод Рунге-Кутта часто используется для решения задач научного и инженерно-технического характера. Метод эффективен, надежен и реализуется программными средствами. Существует несколько разновидностей метода Рунге-Кутта, различающиеся порядком точности. В данной работе рассматривается явный метод Рунге-Кутта 4-го порядка точности для решения задачи Коши.

Решение систем дифференциальных уравнений методом Рунге — Кутта 4 порядка

В данном методе вводятся вспомогательные величины k0, k1, k2, k3. Вычисление координат очередной точки (x i +1 , y i +1 ) происходит исходя из уже известных координат предыдущей точки.

, где i = 0, 1, …

Таким образом, метод Рунге-Кутта требует на каждом шаге четырехкратного вычисления правой части уравнения f(x, y).

Данный метод требует большого объема вычислений, однако это окупается повышенной точностью, что дает возможность проводить счет с большим шагом.

Рассмотренный метод может быть использован также для решения систем дифференциальных уравнений.

Система Лоренца

Наиболее яркий пример динамического хаоса обнаружил в 1963 году метеоролог Эдвард Лоренц, решая задачу о тепловой конвекции жидкости.

Максимально упрощая уравнения, описывающие это явление, Лоренц вывел, что даже сравнительно простая система из трех связанных нелинейных дифференциальных уравнений 1-го порядка может иметь решением совершенно хаотические траектории.

Эта система уравнений, ставшая теперь классической, имеет вид:

Решение этих уравнений — функции X(t), Y(t) и Z(t) — определяют в паpаметpическом виде тpаектоpию системы в тpехмеpном «фазовом» пpостpанстве X, Y, Z. Ввиду однозначности функций, стоящих в правых частях этих уравнений, тpаектоpия себя никогда не пересекает.

Лоpенц исследовал вид этих тpаектоpий пpи разных начальных условиях пpи значениях паpаметpов a = 10, b = 28 и c = 8/3. Он обнаружил, что пpи этом тpаектоpия хаотическим образом блуждает из полупpостpанства x>0 в полупpостpанство x<0, фоpмиpуя две почти плоских, пеpепутанных сложным образом спирали.

Проектирование

Основная программа реализована на языке С++.

Так как в решаемой системе Лоренца четыре неизвестных: t, x, y, z, рассчитывать вспомогательные величины k0, k1, k2, k3 надо будет для x, y, z. Будем считать наши уравнения относительно t. Для этого в массиве t будем хранить значения: предыдущее значение плюс шаг начиная с 0.

Для хранения всех k воспользуемся двумерным массивом 3 на 4.

Также для хранения координат новых точек тоже воспользуемся двумерным массивом.

Для записи массивов с полученными точками в файлы используем библиотеку «fstream».

Входные данные программы это:

– Коэффициенты a, b, c;

– Шаг h;

– Количество точек, которые надо вычислить;

– Начальные значения x, y, z.

Выходные данные — это массивы точек x, y, z записанные в файлы формата.txt. Схема основной программы на рисунке 1.

Рис. 1

Вспомогательная программа для вывода графиков на экран написана на языке Python.

Для построения графиков понадобится библиотека «matplotlib.pyplot».

Входные данные программы — массивы точек x, y, z считанные из прежде сохраненных файлов.

Выходные данные — 3D график, построенный из массивов точек x, y, z. Схема вспомогательной программы на рисунке 2.

Рис. 2

Результаты работы программы

Запустим программу. возьмем шаг = 0.01, коэффициент a = 10, коэффициент b = 28 (считается классическим случаем), коэффициент c = 2.6, начальные координаты (10,10,10), количество точек = 3000. Получившийся график показан на рисунке 3.

Рис. 3

Выводы

По результатам разработки можно убедиться, что метод Рунге-Кутты четвертого порядка достаточно просто реализуем, а также точен. Его удобно и эффективно использовать для решения задач научного и инженерно-технического характера.

Литература:

  1. Демченко В. В. Метод Рунге-Кутты решения задачи Коши для обыкновенных дифференциальных уравнений первого порядка. М.: МФТИ, 2004. -20с.
  2. Арнольд В. И. Обыкновенные дифференциальные уравнения. — М.: МЦНМО, 2012. — 344 с.
  3. Лоренц Э. Детерминированное непериодическое движение. Странные аттракторы. — М.:, 1981. — С. 88–116.
  4. Эльсгольц Л. Э. Дифференциальные уравнения и вариационное исчисление. — Наука, 1969. — 425 c.
Основные термины (генерируются автоматически): решение систем, уравнение, вспомогательная программа, двумерный массив, инженерно-технический характер, основная программа, порядок, решение задач, шаг.


Ключевые слова

python, С++, Рунге-Кутта четвертого порядка, система Лоренца, решение дифференциальных уравнений

Похожие статьи

Численные методы решения систем линейных алгебраических уравнений. Метод Гаусса

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

Разработка программного метода генерации псевдослучайных чисел

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

К вопросу численной реализации краевых задач для системы обыкновенных дифференциальных уравнений четвертого порядка

Рассматривается вопрос о построении приближенного решения линейных обыкновенных дифференциальных уравнений четвертого порядка. Излагаются два метода: метод конечных разностей и дифференциальной прогонки с модификацией матричного варианта.

Существование периодической траектории в модифицированной модели Калдора

В статье рассматривается нелинейная экономическая модель бизнес-цикла Николаса Калдора. Дается строгое обоснование применения теоремы Пуанкаре-Бендиксона о существовании периодической траектории. Приводятся результаты численного моделирования.

Аппроксимация полиномов n степени методом наименьших квадратов

В данной статье рассмотрено решение проблемы уменьшения суммы квадратов отклонений определённых функций от искомых переменных для полиномиальных уравнений n степени. Приведено подробное решение для уравнений 2 степени, рассматриваемой проблемы. Предс...

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

Работа посвящена исследованию обратной задачи для одного параболического уравнения, возникающего при моделировании процесса денежного моделирования. Дополнительная информация для решения обратной задачи задается в некоторой точке. Доказательство суще...

Анализ системы уравнений «хищник — жертва» и доказательство первого и второго законов Вольтерры

В данной статье рассмотрена система дифференциальных уравнений Лотки — Вольтерры, а также приведены формулировки доказательства первого и второго законов Вольтерры.

Реализация численного алгоритма метода вариаций в пространстве управлений

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

Подход к ковариантному управлению нелинейными стохастическими системами с ковариационной обратной связью

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

Построение локально оптимальных систем с использованием проекционного метода

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

Похожие статьи

Численные методы решения систем линейных алгебраических уравнений. Метод Гаусса

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

Разработка программного метода генерации псевдослучайных чисел

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

К вопросу численной реализации краевых задач для системы обыкновенных дифференциальных уравнений четвертого порядка

Рассматривается вопрос о построении приближенного решения линейных обыкновенных дифференциальных уравнений четвертого порядка. Излагаются два метода: метод конечных разностей и дифференциальной прогонки с модификацией матричного варианта.

Существование периодической траектории в модифицированной модели Калдора

В статье рассматривается нелинейная экономическая модель бизнес-цикла Николаса Калдора. Дается строгое обоснование применения теоремы Пуанкаре-Бендиксона о существовании периодической траектории. Приводятся результаты численного моделирования.

Аппроксимация полиномов n степени методом наименьших квадратов

В данной статье рассмотрено решение проблемы уменьшения суммы квадратов отклонений определённых функций от искомых переменных для полиномиальных уравнений n степени. Приведено подробное решение для уравнений 2 степени, рассматриваемой проблемы. Предс...

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

Работа посвящена исследованию обратной задачи для одного параболического уравнения, возникающего при моделировании процесса денежного моделирования. Дополнительная информация для решения обратной задачи задается в некоторой точке. Доказательство суще...

Анализ системы уравнений «хищник — жертва» и доказательство первого и второго законов Вольтерры

В данной статье рассмотрена система дифференциальных уравнений Лотки — Вольтерры, а также приведены формулировки доказательства первого и второго законов Вольтерры.

Реализация численного алгоритма метода вариаций в пространстве управлений

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

Подход к ковариантному управлению нелинейными стохастическими системами с ковариационной обратной связью

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

Построение локально оптимальных систем с использованием проекционного метода

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

Задать вопрос