методами Эйлера и Рунге-Кутта в системе MathCAD




Построение решений обыкновенных дифференциальных уравнений

 

Решение дифференциального уравнения 1-го порядка

, .

Простой метод Эйлера реализуется применением на каждом шаге вычислений следующих итерационных выражений:

,

.

Рассмотрим реализацию метода в MathCADна примере уравнения:

, , .

Аналитическое решение известно и имеет вид:

.

Краткие сведения о составлении программ в MathCAD

знак присваивает функции или переменной (они помещаются слева) выражение или число, которые помещаются справа. Набирается клавишей двоеточие «: » или из меню по цепочке View→ Toolbars→ Calculator.

знак обозначает последовательное изменение переменной через единицу от значения слева до значения справа. Набирается клавишей точка с запятой «; ».

матрица вставляется командой меню Insert→ Matrix или клавишами Ctrl-M. Нижний индекс добавляется клавишей квадратная скобка «[ ».

График вставляется командой Insert→ Graph→ X-YPlot или клавишей «@ ».

Для удобства в работе рекомендуется отключить автоматическое вычисление, убрав галочку с опции меню Tools→ Calculate→ AutomaticCalculation. Тогда расчет не будет выполняться в ходе набора программы, а запуститься только после нажатия кнопки Calculate, расположенной на панели инструментов (в виде значка ).

Ниже приведена расчетная программа. Повторите её. Получите графики с тем же форматом линий. Формат линий графика можно изменить, открыв с помощью ПК мыши контекстное меню и выбрав Format… → Traces.

Программа для простого метода Эйлера

 

Шаг изменения x
Число шагов
Функция, определяющая производную
Задание цикла
Задание начальных условий
Итерационные уравнения
Результаты решения:

 

Следующая программа реализует модифицированный метод Эйлера. Отличие от простого метода заключается в итерационных уравнениях.

Программа для модифицированного метода Эйлера

 

Шаг изменения x
Число шагов
Функция, определяющая производную
Задание цикла
Задание начальных условий
Итерационные уравнения
Результаты решения:

 

Метод Рунге-Кутта 4-го порядка используется в тех случаях, когда необходима высокая точность расчетов, недостигаемая методами Эйлера.

Программа для метода Рунге-Кутта

Шаг изменения x
Число шагов
Функция, определяющая производную
Задание коэффициентов k1, k2, k3, k4 как функций пользователя:
Усредненная функция
Задание цикла
Задание начальных условий
Итерационные уравнения
Результаты решения:

 

 

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

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

, , .

Преобразуем задачу к системе из двух уравнений:

, ,

, .

Тогда получим следующее обобщение итерационной схемы:

. ,

где

, ,

, ,

, ,

, .

Отметим, что значения на каждом следующем шаге рассчитываются по значениям, полученным на предыдущем. Кроме того, использованы прежние правила «взвешивания» коэффициентов при усреднении.

 

Пример математической модели с дифференциальным уравнением 2-го порядка

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

,

где t – время, и искомой является зависимость ;

– круговая частота собственных колебаний;

– круговая частота внешнего воздействия с амплитудой «a ».

Если , то общее решение уравнения имеет вид (проверьте подстановкой):

,

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

Когда , общее решение имеет вид:

.

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

 

Моделирование резонансных колебаний

Методом Рунге-Кутта найдем решение задачи:

 

, , , .

 

Согласно изложенной выше теории, аналитическое решение уравнения имеет вид:

.

Ниже приведен алгоритм расчета и его реализация в MathCAD.

 

 

Программа расчета резонансных колебаний методом Рунге-Кутта

Шаг изменения x
Число шагов
Функция в системе уравнений dy/dx = z и dz/dx = f(x,y,z)
Задание коэффициентов как функций пользователя:
Усредненные функции:
Задание цикла
Задание начальных условий
Итерационные уравнения
Результаты решения:

 

 

Задание для самостоятельного выполнения

Найти решение уравнения вынужденных колебаний:

, , , .

Решение представить в виде графика. Для сравнения привести и график точного решения (также как это было сделано для резонансных колебаний).



Поделиться:




Поиск по сайту

©2015-2024 poisk-ru.ru
Все права принадлежать их авторам. Данный сайт не претендует на авторства, а предоставляет бесплатное использование.
Дата создания страницы: 2019-03-17 Нарушение авторских прав и Нарушение персональных данных


Поиск по сайту: