Архитектура Аудит Военная наука Иностранные языки Медицина Металлургия Метрология
Образование Политология Производство Психология Стандартизация Технологии


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



 

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

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

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

       Рассмотрим некоторые из них.

 

 

Метод Эйлера.

(Леонард Эйлер (1707 – 1783) швейцарский математик )

 

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

       Если взять последовательность точек х0, х1, х2, …. и заменить на получившихся отрезках интегральную кривую на отрезки касательных к ней, то получим ломаную линию. 

                                             y

 

                                                                  M2

                                                        M1                   M3

                                                 M0

                                             y0                               M4

 

                                              0 x0 x1 x2 x3 x4      x

 

       При подстановке заданных начальных условий (х0, у0) в дифференциальное уравнение получаем угловой коэффициент касательной к интегральной кривой в начальной точке

       Заменив на отрезке [x0, x1] интегральную кривую на касательную к ней, получаем значение

       Производя аналогичную операцию для отрезка [x1, x2], получаем:

       Продолжая подобные действия далее, получаем ломаную кривую, которая называется ломаной Эйлера.

       Можно записать общую формулу вычислений:

 

       Если последовательность точек хi выбрать так, чтобы они отстояли друг от друга на одинаковое расстояние h, называемое шагом вычисления, то получаем формулу:

 

 

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

Суть метода состоит в том, что в формуле  вместо значения

 берется среднее арифметическое значений f ( x 0 , y 0 ) и f ( x 1 , y 1 ). Тогда уточненное значение:

 

       Затем находится значение производной в точке . Заменяя f ( x 0 , y 0 ) средним арифметическим значений f ( x 0 , y 0 ) и , находят второе уточненное значение у1.

       Затем третье:

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

       Аналогичная операция производится для остальных значений у.

 

Подобное уточнение позволяет существенно повысить точность результата.

 

 

Метод Рунге – Кутта.

 

       Метод Рунге – Кутта является более точным по сравнению с методом Эйлера.

Суть уточнения состоит в том, что искомое решение представляется в виде разложения в ряд Тейлора. (См.  Формула Тейлора. )

       Если в этой формуле ограничиться двумя первыми слагаемыми, то получим формулу метода Эйлера. Метод Рунге – Кутта учитывает четыре первых члена разложения.

.

 

       В методе Рунге – Кутта приращения Dyi предлагается вычислять по формуле:

где коэффициенты ki вычисляются по формулам:

 

    Пример. Решить методом Рунге – Кутта дифференциальное уравнение  при начальном условии у(0) = 1 на отрезке [0; 0,5] с шагом 0,1.

 

       Для i = 0 вычислим коэффициенты ki.

 

 

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

 

i xi

k

Dyi yi

 

0

 

 

0

1 0,1000

 

0,1104

 

1

2 0,1100
3 0,1105
4 0,1155

 

1

 

0,1

1 0,1210

 

0,1325

 

1,1104

2 0,1321
3 0,1326
4 0,1443

 

2

 

0,2

1 0,1443

 

0,1569

 

1,2429

2 0,1565
3 0,1571
4 0,1700

 

3

 

0.3

1 0,1700

 

0,1840

 

1,3998

2 0,1835
3 0,1842
4 0,1984

 

4

 

0,4

1 0,1984

 

0,2138

 

1,5838

2 0,2133
3 0,2140
4 0,2298
5 0,5

 

1,7976

 

 

       Решим этот же пример методом Эйлера.

 

Применяем формулу

 

                                                                 

                                                                 

 

                                                                 

                                                                 

 

       Производя аналогичные вычисления далее, получаем таблицу значений:

 

i 0 1 2 3 4 5
xi 0,0 0,1 0,2 0,3 0,4 0,5
yi 1 1,1 1,22 1,362 1,528 1,721

 

       Применим теперь уточненный метод Эйлера.

 

i 0 1 2 3 4 5
xi 0,0 0,1 0,2 0,3 0,4 0,5
yi 1 1,1 1,243 1,400 1,585 1,799

 

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

 

       Уравнение  является линейным неоднородным дифференциальным уравнением первого порядка. Решим соответствующее ему однородное уравнение.

 

       Решение неоднородного уравнения имеет вид

Общее решение:

 

       C учетом начального условия:

Частное решение:

 

 

       Для сравнения полученных результатов составим таблицу.

 

i

xi

yi

Метод Эйлера Уточненный метод Эйлера Метод Рунге - Кутта Точное значение
0 0 1 1 1 1
1 0,1 1,1 1,1 1,1104 1,1103
2 0,2 1,22 1,243 1,2429 1,2428
3 0,3 1,362 1,4 1,3998 1,3997
4 0,4 1,528 1,585 1,5838 1,5837
5 0,5 1,721 1,799 1,7976 1,7975

 

       Как видно из полученных результатов метод Рунге – Кутта дает наиболее точный ответ. Точность достигает 0,0001. Кроме того, следует обратить внимание на то, ошибка (расхождение между точным и приближенным значениями) увеличивается с каждым шагом вычислений. Это обусловлено тем, что во – первых полученное приближенное значение округляется на каждом шаге, а во – вторых – тем, что в качестве основы вычисления принимается значение, полученное на предыдущем шаге, т.е. приближенное значение. Таким образом происходит накопление ошибки.

       Это хорошо видно из таблицы. С каждым новым шагом приближенное значение все более отличается от точного.


Поделиться:



Последнее изменение этой страницы: 2019-04-19; Просмотров: 175; Нарушение авторского права страницы


lektsia.com 2007 - 2024 год. Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав! (0.042 с.)
Главная | Случайная страница | Обратная связь