Задание 6. Решение обыкновенных дифференциальных уравнений
Если дифференциальное уравнение (1) разрешимо относительно старшей производной, то его можно свести к системе обыкновенных дифференциальных уравнений 1-го порядка заменой на неизвестную функцию Р1(х), у" на Р2(х) и т. д. Рассмотрите задачу, состоящую в поиске решения обыкновенного дифференциального уравнения для t от t0 до tk с шагом? t при начальном условии y (t0)=y0 (задачу Коши). Выясните… Читать ещё >
Задание 6. Решение обыкновенных дифференциальных уравнений (реферат, курсовая, диплом, контрольная)
Постановка задачи
- 1. Рассмотрите задачу, состоящую в поиске решения обыкновенного дифференциального уравнения для t от t0 до tk с шагом? t при начальном условии y (t0)=y0 (задачу Коши). Выясните возможность аналитического решения задачи.
- 2. Разработайте программу на С для решения поставленной задачи модифицированным методом Эйлераи методом Рунге-Куттыс фиксированным шагом? t (значение? t возьмите равным десятой доле интервала интегрирования).
№. | f (t, y). | t0 | tk | y0 |
Математическая постановка задачи
В инженерной практике довольно часто приходится встречаться с обыкновенными дифференциальными уравнениями при решении различных прикладных задач. Обыкновенным дифференциальным уравнением называется выражение вида.
F (X, Y, Y', Y",…, Yn-1, Yn) = 0, (1).
где Х — независимая переменная;
Y — искомая функция от Х;
Y', Y",…, Yn -производные порядка 1,2,…, n.
Порядок старшей производной, входящей в уравнение (1), называется порядком дифференциального уравнения.
Простейшим обыкновенным дифференциальным уравнением является уравнение 1-го порядка.
y'= f (x, y) (2).
Основная задача, относящаяся к этому уравнению, есть задача Коши: найти решение дифференциального уравнения (2) в виде у=у (х), удовлетворяющее начальному условию Y (Xo)=Yo, т. е. требуется найти интегральную кривую у=у (х), проходящую через заданную точку М (Хо, Yo).
Для нахождения решения дифференциального уравнения (1) необходимо задать такое количество начальных условий, какое соответствует порядку старшей производной, а именно задать значения.
Yo=Y (Xo); Yo'=Y'(Xo),…, Y0n-1 = Yn-1 (Xo) (3).
Уравнение (1) называется разрешенным относительно старшей производной, если оно имеет вид.
Y(n) =f (X, Y, Y', Y",…, Yn-1) (4).
Если дифференциальное уравнение (1) разрешимо относительно старшей производной, то его можно свести к системе обыкновенных дифференциальных уравнений 1-го порядка заменой на неизвестную функцию Р1(х), у" на Р2(х) и т. д.
Таким образом, имеем.
y'=P1,.
P1'=P2,.
P2'=P3,.
P’n-1 = f (x, y, P1, P2,…, Pn-1), причем.
Y (Xo)=Yo.
P1(Xo)=Yo'.
P2(Xo)=Yo".
.. .. .. .. .
P n-1(Xo)=Yon-1 .
При решении инженерных задач чаще всего приходится иметь дело с уравнениями, общее решение которых не выражается в аналитическом виде. Поэтому возникает необходимость применять те или иные методы, дающие приближенное решение задачи.
6.3 Описание методов решения
Метод Эйлера для расчета дифференциальных уравнений имеет небольшую точность расчета. Точность расчета у него зависит от размера шага линейно, зависимость точности от шага — первой степени. То есть, чтобы увеличить точность в 10 раз, надо уменьшить шаг в 10 раз. Этот метод является сравнительно грубым и применяется в основном для ориентировочных расчетов.
Метод численного решения дифференциального уравнения 1-го порядка y'= f (x, y) с начальным условием Y (Xo)=Yo основан на разложении решения в ряд Тейлора в h-окрестности точки Хо:
Y1 = Y (x+h) = Y (Xo) + h*Y'(Xo) + (h2/2)*Y"(Xo) +…
При отбрасывании всех членов ряда, содержащих производные 2-го и высших порядков, получим.
Y1 = Yo + h*f (Xo, Yo), где f (x, y) — правая часть уравнения y'= f (x, y) .
Пользуясь значением Y1 из разложения y (x) в hокрестности точки.
Х1=Хо+h, получим.
Y2=Y1+h*f (X1,Y1),.
аналогично продолжая для следующей Х i+1 точки, получим.
Y i+1 = Yi+h*f (Xi, Yi).
Если дано уравнение 2-го порядка Y'=f (x, y, y') c начальными условиями Y (Xo)=Yo и Y'(Xo)=Yo', то такое уравнение можно свести к системе двух уравнений 1-го порядка.
причем.
Тогда приближенные значения функций у и Р в точке можно вычислить.
где f (Xi, Yi, Pi) — правая часть уравнения Y'=f (x, y, y').
При достаточно малой величине шага h метод Эйлера дает решение с большой точностью, т.к. погрешность решения близка к h2.
Модифицированный метод Эйлера имеет точность второго порядка. В методе Эйлера производная берется в начале шага и по ней прогнозируется движение системы на конец шага, считая, что во время шага производная неизменна. То есть в течение всего шага производная считается той, какой она была в самом начале шага. Это основной источник неточности.
Улучшение метода Эйлера состоит в том, что берется производная не в начале шага, а как промежуточное или среднее на разных участках одного шага. В разных вариантах метода вычисляют несколько производных в разных частях шага и усредняют их. Конечно, в этом случае число вычислений увеличивается, — но не в десятки раз, — а вот точность возрастает на порядок, в этом и состоит выигрыш.
Модифицированный метод Эйлера второго порядка реализуется следующими рекуррентными формулами:
Данная схема называется еще методом предиктор — корректор (предсказывающее — исправляющее). На первом этапе приближенное значение предсказывается с невысокой точностью (h), а на втором этапе это предсказание исправляется, так что результирующее значение имеет второй порядок точности.
Метод дает погрешность порядка h3 и имеет меньшее время вычислений, поскольку вместо нескольких итераций производится вычисление только одного значения.
.
Метод Рунге-Кутта четвертого порядка для численного решения дифференциальных уравнений первого порядка По сравнению с описанным выше методом Эйлера метод Рунге-Кутта имеет более высокую точность. Идея Рунге-Кута состоит в том, чтобы использовать метод неопределённых коэффициентов. В методе Рунге-Кутта четвертого порядка вычисления производятся по формулам:
K1=h*F (Xi, Yi);
K2=h*F (Xi+h/2,Yi+K1/2);
K3=h*F (Xi+h/2,Yi+K2/2);
K4=h*F (Xi+h, Yi+K3);
Yi+1 = Yi + (K1+2*K2+2*K3+K4) / 6.
Метод Рунге-Кутта применим также для приближенного решения систем ОДУ, применяя формулы для каждого уравнения в отдельности. При этом погрешность интегрирования есть величина порядка h5.
В данном задании необходимо задать: шаг h и начальные условия (t0, tk, y0).
Выходными данными являються: количество итераций, решение ДУ на каждом шаге итераций, решение ДУ.