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

Содержание

Слайд 2

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

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

соотношение часто удается записать в виде:

Последнее уравнение

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

Общим решением уравнения будет являться семейство функций y=y(x,c1) различающихся значение постоянной c1. Задаем одно начальное условие y(x0)=y0, которое определяет значение c1и конкретное частное решение – задача Коши.

Для простейшего дифференциального уравнения y’=3x2. Общее решение имеет вид y=x3+c, а подставив в общее решение начальное условие x0=1, y0=2 вычислим с=1 и определим частное решение как: y=x3+1

Слайд 3

Метод Эйлера Дано дифференциальное уравнение y’=f(x,y), удовлетворяющее начальному условию y(x0)=y0 .

Метод Эйлера

Дано дифференциальное уравнение y’=f(x,y), удовлетворяющее начальному условию y(x0)=y0 . Требуется

найти решение на отрезке [a,b]. Разобьем отрезок интегрирования на n равных частей: x0=a, x1= a+h, x2=x1+h,…,xi=xi–1+h,…,xn=b, тогда величина шага интегрирования будет равна:
Слайд 4

Значение функции y1 в точке x1 можно определить как точку пересечения

Значение функции y1 в точке x1 можно определить как точку пересечения

касательной проведенной к функции y=y(x) в точке (x0,y0) с вертикальной прямой проходящей через точку x1.

Тангенс угла наклона касательной есть значение производной в точке (x0,y0) и задается правой частью дифференциального уравнения, т.е. tg( β)=f(x0,y0). С другой стороны из геометрического представления метода можно записать:

Следовательно

Откуда

и т.д.

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

где i = 1, 2, 3, …, n

Результат будет представлен функцией заданной таблицей.

Слайд 5

Пример y1 = -2+0.5*(-(-2/1)) = -1 x1 = 1+0.5 =1.5 y2

Пример

y1 = -2+0.5*(-(-2/1)) = -1 x1 = 1+0.5 =1.5
y2 = -1+0.5*(-(-1/1.5))

= -0.667 x2 = 1.5+0.5 =2
и т.д.
Слайд 6

Модифицированный метод Эйлера Графическая интерпретация. Определяем точку и вычисляем значение функции

Модифицированный метод Эйлера
Графическая интерпретация.

Определяем точку

и вычисляем значение функции в

этой точке

Значение функции y1 в точке x1 определяем, как точку пересечения касательной, вычисленной в точке (x1/2,y1/2) и проведенной к функции y=y(x) в точке (x0,y0) , с вертикальной прямой проходящей через точку x1.

Слайд 7

произвольную точку определим где i = 1, 2, 3, …, n

произвольную точку определим

где i = 1, 2, 3, …, n


Пример

y1/2 = -2+0.25*(-(-2/1)) = -1.5; x1/2 = 1+0.25 = 1.25
y1 = -2+0.5*(-(-1.5/1.25)) = -1.4; x1 = 1+0.5 = 1.5
y3/2 = -1.4 +0.25*(-(-1.4/1.5)) = -1.1667; x3/2 = 1.5+0.25 = 1.75
y2 = -1.4 +0.5*(-(-1.1667/1.75)) = -1.0667; y2 = 1.5+0.5 = 2
и т.д.

Слайд 8

Слайд 9

y(i)=euler(x(i-1),y(i-1),h) x(i):=x(i-1)+h h:=(xn-x0)/n x(1):=x0; y(1):=y0 i=0 i=2 step 1 to n+1

y(i)=euler(x(i-1),y(i-1),h)
x(i):=x(i-1)+h

h:=(xn-x0)/n
x(1):=x0; y(1):=y0
i=0

i=2 step 1 to n+1

x0,y0,xn,n

Begin

End

euler(x,y,h)

dfdx(x,y)

function y=m_euler(x,y,h)

y=y+h*dfdx(x+h/2,y+h/2*dfdx(x,y))

End

dfdx(x,y)

function y=rungekutt(x,y,h)

k0:=dfdx(x,y)
k1:=dfdx(x+h/2,y+h*k0/2)
k2:=dfdx(x+h/2,y+h*k1/2)
k3:=dfdx(x+h,y+h*k2)
y=y+h/6*(k0+2*k1+2*k2+k3)

End

function f=dfdx(x,y)

dfdx =

2 * (x ^ 2 + y)

End

plot(x,y)

Слайд 10

Аналитический вывод формул Необходимо найти значения функции y(x) в заданных точках

Аналитический вывод формул

Необходимо найти значения функции y(x) в заданных точках x1,

x2,… xn, если известны начальные значения (x0, y0 ), где  y0=y(x0) . Преобразуем уравнение  

Проинтегрируем левую и правую части уравнения между xi и xi+1 точкой 

Интегрируем методом трапеций 

Интегрируем методом прямоугольники вперед 

Интегрируем методом в среднем