Численное интегрирование дифференциальных уравнений второго порядка

Моделирование динамических систем: численные методы решения ОДУ

Очень кратко рассмотрев основы механики в предыдущей статье, перейдем к практике, ибо даже той краткой теории что была рассмотрена хватит с головой.

Численное интегрирование дифференциальных уравнений второго порядка

Камень бросают вертикально, без начальной скорости с высоты h = 100 м. Пренебрегая сопротивлением воздуха, определить закон движения камня, как функцию высоты камня над поверхностью Земли от времени. Ускорение свободного падения принять равным 10 м/с 2

Видео:Линейное неоднородное дифференциальное уравнение второго порядка с постоянными коэффициентамиСкачать

Линейное неоднородное дифференциальное уравнение второго порядка с постоянными коэффициентами

1. Формализация задачи

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

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

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

Численное интегрирование дифференциальных уравнений второго порядка

где g — ускорение свободного падения у поверхности Земли. Теперь пришло время составить уравнения движения камня. Помните эти уравнения

Численное интегрирование дифференциальных уравнений второго порядка

Левая их часть нас пока не интересует, а вот в правой стоят суммы проекций сил, приложенных к точке на оси координат. Пусть оси x и y располагаются на поверхности, а ось z направлена вверх перпендикулярно ей. Сила одна единственная, её проекции на оси x и y равны нулю, а на ось z проекция отрицательна, так как сила направлена против направления оси, то есть

Численное интегрирование дифференциальных уравнений второго порядка

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

Численное интегрирование дифференциальных уравнений второго порядка

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

Численное интегрирование дифференциальных уравнений второго порядка

То что у нас получилось не много не мало — математическая модель процесса происходящего в задаче. Пафосно, да?

Нет. Анализируя это уравнение мы делаем вывод, например, что масса камня не оказывает влияния на закон его движения, ведь массы в этом уравнении нет. Видите, даже не решив уравнения, мы уже формально доказали справедливость опыта с пером и кусочком свинца в вакууме, который любят показывать в школе (а некоторые повторили его на Луне).

Аналитическое решение получить просто, даже не буду заморачиваться, оно такое

Численное интегрирование дифференциальных уравнений второго порядка

А вот как решить это численно? И что это вообще такое — «численно»?

Видео:14. Дифференциальные уравнения второго порядка, допускающие понижение порядкаСкачать

14. Дифференциальные уравнения второго порядка, допускающие понижение порядка

2. Численное интегрирование дифференциального уравнения первого порядка

Какой такой первый порядок? Я же говорил в прошлый раз, что уравнения движения имеют второй порядок. Всё правильно, но большинство методов решения диффур на компьютере умеют решать только уравнения первого порядка. Есть методы прямого интегрирования уравнений второго порядка (например метод Верле), но о них не сейчас.

Во-первых, это уравнение относится к такому типу, что допускает понижение порядка. Правая часть не зависит от неизвестной функции (там нет z), поэтому вспоминаем, что

Численное интегрирование дифференциальных уравнений второго порядка

проекция ускорения на ось z равна первой производной проекции скорости на ту же оcь z. Ну классно, тогда

Численное интегрирование дифференциальных уравнений второго порядка

вот вам и уравнение первого порядка. Не всегда этот номер проходит (не буду я сейчас про форму Коши!), но в данном случае всё в порядке. Будем искать не координату а скорость точки. Что дальше-то? А дальше

Численное интегрирование дифференциальных уравнений второго порядка

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

Численное интегрирование дифференциальных уравнений второго порядка

Что получается? А вот что

Численное интегрирование дифференциальных уравнений второго порядка

Мы получили приращение скорости. Отрицательное приращение. Как это так, камень, падая вниз будет разгонятся же! Да, будет. Его скорость, вектор его скорости, будет направлен вниз. А значит проекция этого вектора на ось z будет отрицательной. Всё правильно, мы получаем растущую по абсолютному значению проекцию вектора, направленного вниз. Мы знаем, начальное значение скорости — ноль, а значит

Численное интегрирование дифференциальных уравнений второго порядка

Пользуясь тем что мы можем вычислить приращение скорости, посчитаем, какова будет скорость скажем через 0.1 секунды

Численное интегрирование дифференциальных уравнений второго порядка

а ещё через 0.1 секунды

Численное интегрирование дифференциальных уравнений второго порядка

и ещё через 0.1 секунды

Численное интегрирование дифференциальных уравнений второго порядка

Хм, так мы можем продолжать довольно долго, но ограничимся промежутком времени в одну секунду

Время, сСкорость, м/с
0.00.0
0.1-1.0
0.2-2.0
0.3-3.0
0.4-4.0
0.5-5.0
0.6-6.0
0.7-7.0
0.8-8.0
0.9-9.0
1.0-10.0

То есть, воспользовавшись формулой

Численное интегрирование дифференциальных уравнений второго порядка

мы получили зависимость скорости точки от времени. А всего-то нужно взять значение скорости в текущий момент времени, и добавить к нему приращение, которое скорость получит в новый момент времени, отстоящий от текущего на Численное интегрирование дифференциальных уравнений второго порядкасекунд. Приращение времени называется здесь шагом интегрирования. А приращение мы вычисляем как значение производной искомой функции в текущий момент времени умноженное на шаг. Просто? Да просто конечно. И та формула, которую я написал, имеет название название — явный метод Эйлера для численного решения дифференциальных уравнений. Это так называемая рекуррентная формула, когда новое значение вычисляемой величины зависит от её предыдущего значения.

А что же с высотой точки над Землей? Да всё аналогично, смотрите

Численное интегрирование дифференциальных уравнений второго порядка

ведь проекция скорости есть производная от соответствующей координаты. Применим формулу метода Эйлера для этого уравнения, ведь скорость мы уже знаем

Численное интегрирование дифференциальных уравнений второго порядка

и по этой формуле добавим в нашу таблицу ещё одну колонку

Численное интегрирование дифференциальных уравнений второго порядка

Время, сСкорость, м/сВысота, м
0.00.0100.0
0.1-1.0100.0
0.2-2.099.9
0.3-3.099.7
0.4-4.099.4
0.5-5.099.0
0.6-6.098.5
0.7-7.097.9
0.8-8.097.2
0.9-9.096.4
1.0-10.095.5

Хм, ну, во-первых, заметно, что высота меняется у нас уже неравномерно, так как скорость со временем меняется. Теперь наша производная сама зависит от времени. Но уже на первом шаге, мы замечаем неладное — скорость уже есть, а вот высота по прежнему 100 метров. Как так?

Это вышло потому, что на каждом шаге мы полагаем производную (скорость) постоянной. Метод не дает информации о том, что происходит с решением между шагами. Соответственно накапливается погрешность, сравним полученное решение с точным

Численное интегрирование дифференциальных уравнений второго порядка

Время, сСкорость, м/сВысота, мТочное решение, м
0.00.0100.0100.00
0.1-1.0100.099.95
0.2-2.099.999.80
0.3-3.099.799.55
0.4-4.099.499.20
0.5-5.099.098.75
0.6-6.098.598.20
0.7-7.097.997.55
0.8-8.097.296.80
0.9-9.096.495.95
1.0-10.095.595.00

Да, наш камень как будто зависает в воздухе. Численное решение отстает от аналитического, и чем дальше мы считаем, тем выше погрешность счета. Погрешность накапливается, так как на каждом шаге мы берем всё более и более грубое приближение. Что делать?

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

Время, сСкорость, м/сВысота, мТочное решение, м
0.00.0100.0100.00
0.1-1.099.9699.95
0.2-2.099.8199.80
0.3-3.099.5799.55
0.4-4.099.2299.20
0.5-5.098.7898.75
0.6-6.098.2398.20
0.7-7.097.5997.55
0.8-8.096.8496.80
0.9-9.096.0095.95
1.0-10.095.0595.00

Уже лучше, погрешность в конце счета не превышает 0,05 метров, и это в 10 раз меньше предыдущего значения. Можно предположить, что уменьшив шаг ещё в 10 раз мы получим ещё более точное решение. Я схитрил, выводя значения только для 10 точек с шагом 0.1, на самом деле, чтобы получить такую таблицу нужны уже 100 итерации а не 10. При шаге 0.001 потребуется уже тысяча итераций, а результат будет таким

Время, сСкорость, м/сВысота, мТочное решение, м
0.00.0100.0100.00
0.1-1.099.950599.95
0.2-2.099.801099.80
0.3-3.099.551599.55
0.4-4.099.202099.20
0.5-5.098.752598.75
0.6-6.098.203098.20
0.7-7.097.553597.55
0.8-8.096.804096.80
0.9-9.095.954595.95
1.0-10.095.005095.00

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

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

Точность расчетов даже на шаге 0.1 можно улучшить, если мы применим, скажем метод Рунге-Кутты 4-го порядка точности. Но это отдельная история.

Видео:ЛОДУ 2 порядка c постоянными коэффициентамиСкачать

ЛОДУ 2 порядка c постоянными коэффициентами

Заключение

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

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

Видео:Линейное дифференциальное уравнение Коши-ЭйлераСкачать

Линейное дифференциальное уравнение Коши-Эйлера

Численное интегрирование дифференциальных уравнений второго порядка

Системой дифференциальных уравнений называется система вида

Численное интегрирование дифференциальных уравнений второго порядка

где x — независимый аргумент,

yi — зависимая функция, Численное интегрирование дифференциальных уравнений второго порядка,

Функции yi(x), при подстановке которой система уравнений обращается в тождество, называется решением системой дифференциальных уравнений.

Численные методы решения систем дифференциальных уравнений.

Численное интегрирование дифференциальных уравнений второго порядка

Модифицированный метод Эйлера.

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

Дифференциальным уравнением второго порядка называется уравнение вида

F(x,y,у’,y»)=0(1)
y»=f(x,y,y’).(2)

Функция y(x), при подстановке которой уравнение обращается в тождество, называется решением дифференциального уравнения.

Численно ищется частное решение уравнения (2), которое удовлетворяет заданным начальным условиям, то есть решается задача Коши.

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

Численное интегрирование дифференциальных уравнений второго порядка.(3)

Функция f2(x, y1, y) в систему (3) введена формально для того, чтобы методы, которые будут показаны ниже, могли быть использованы для решения произвольной системы дифференциальных уравнений первого порядка. Рассмотрим несколько численных методов решения системы (3). Расчетные зависимости для i+1 шага интегрирования имеют следующий вид. Для решения системы из n уравнений расчетные формулы приведены выше. Для решения системы из двух уравнений расчетные формулы удобно записать без двойных индексов в следующем виде:

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

где h — шаг интегрирования. Начальные условия при численном интегрировании учитываются на нулевом шаге: i=0, x=x0, y1=y10, y=y0.

Контрольное задание по зачетной работе.

Колебания с одной степенью свободы

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

Задание. Численно и аналитически найти:

  1. закон движения материальной точки на пружинке х(t),
  2. закон изменения силы тока I(t) в колебательном контуре (RLC — цепи) для заданных в табл.1,2 режимов. Построить графики искомых функций.

Свободные незатухающие колебания

Затухающее колебательное движение

Предельное апериодическое движение

Вынужденное колебание без сопротивления

Вынужденное колебание без сопротивления, явление резонанса

Вынужденное колебание с линейным сопротивлением

Вынужденное колебание с линейным сопротивлением, явление резонанса

Видео:Линейное однородное дифференциальное уравнение 2-го порядка с постоянными коэффициентами.Скачать

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

Численные методы решения дифференциальных уравнений

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

Видео:15. Линейные однородные дифференциальные уравнения второго порядка с постоянными коэффициентамиСкачать

15. Линейные однородные дифференциальные уравнения второго порядка с постоянными коэффициентами

Решения задач на численное интегрирование дифференциальных уравнений онлайн

Задача 1.Численно решить задачу Коши для обыкновенного дифференциального уравнения 1-го порядка
на отрезке $[t_0, T]$ с шагом $h=0.2$ а) методом Эйлера; б) методом Рунге-Кутты 2-го порядка с оценкой погрешности по правилу Рунге.
Найти точное решение задачи. Построить на одном чертеже графики точного и приближенных решений.

Задача 2. Используя 1) метод Эйлера и 2) модифицированный метод Эйлера, найдите приближенное решение задачи Коши для обыкновенного дифференциального уравнения первого порядка $y’=f(x,y)$ удовлетворяющего начальным условиям $y(x_0)=y_0$ на отрезке $[a,b]$ с шагом $h=0.1$. Все вычисления вести с четырьмя десятичными знаками.

Задача 3. Численно решить задачу Коши для ОДУ 2-ого порядка методом Рунге-Кутта 4-го порядка. $$u»+e^x u’-(10+sin x )u+f=0, 0lt x lt 1$$ $$u(0)=0; u'(0)=50$$ $$f=50((11+sin x) sin x-e^x cos x). $$ Точное решение: $u=50 sin x, h=0.05, n=20$

Задача 4. Методом конечных разностей найти решение краевой задачи с шагами $h_1=(b-a)/5$, $h_2=(b-a)/10$ и оценить погрешность по правилу Рунге. Построить графики полученных приближенных решений.

📸 Видео

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

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

Линейное неоднородное дифференциальное уравнение с постоянными коэффициентами 4y''-y=x^3-24x #1Скачать

Линейное неоднородное дифференциальное уравнение с постоянными коэффициентами 4y''-y=x^3-24x #1

18+ Математика без Ху!ни. Дифференциальные уравнения.Скачать

18+ Математика без Ху!ни. Дифференциальные уравнения.

Решение системы дифференциальных уравнений методом ЭйлераСкачать

Решение системы дифференциальных уравнений методом Эйлера

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

Линейные однородные дифференциальные уравнения n-го порядка с постоянными коэффициентам

13. Как решить дифференциальное уравнение первого порядка?Скачать

13. Как решить дифференциальное уравнение первого порядка?

Численное интегрирование методом ЭйлераСкачать

Численное интегрирование методом Эйлера

Дифференциальные уравнения, 8 урок, Линейные дифференциальные уравнения с const коэф-ами 2 порядкаСкачать

Дифференциальные уравнения, 8 урок, Линейные дифференциальные уравнения с const коэф-ами 2 порядка

Численное решение системы дифференциальных уравнений(задачи Коши)Скачать

Численное решение системы дифференциальных уравнений(задачи Коши)

Численное решение задачи Коши методом ЭйлераСкачать

Численное решение задачи Коши методом Эйлера

18. Линейные неоднородные дифференциальные уравнения 2 порядка с постоянными коэффициентами. часть 3Скачать

18. Линейные неоднородные дифференциальные уравнения 2 порядка с постоянными коэффициентами. часть 3

19. Метод вариации произвольных постоянных. Линейные неоднородные диф уравнения 2-го порядкаСкачать

19. Метод вариации произвольных постоянных. Линейные неоднородные диф уравнения 2-го порядка
Поделиться или сохранить к себе: