Архитектура Аудит Военная наука Иностранные языки Медицина Металлургия Метрология Образование Политология Производство Психология Стандартизация Технологии |
Численные методы решения дифференциальных уравнений. ⇐ ПредыдущаяСтр 5 из 5
Известные методы точного интегрирования дифференциальных уравнений позволяют найти решение в виде аналитической функции, однако эти методы применимы для очень ограниченного класса функций. Большинство уравнений, встречающихся при решении практических задач нельзя проинтегрировать с помощью этих методов. В таких случаях используются численные методы решения, которые представляют решение дифференциального уравнения не в виде аналитической функции, а в виде таблиц значений искомой функции в зависимости от значения переменной. Существует несколько методов численного интегрирования дифференциальных уравнений, которые отличаются друг от друга по сложности вычислений и точности результата. Рассмотрим некоторые из них.
Метод Эйлера. (Леонард Эйлер (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.
Последующие вычисления приводить не будем, а результаты представим в виде таблицы.
Решим этот же пример методом Эйлера.
Применяем формулу
Производя аналогичные вычисления далее, получаем таблицу значений:
Применим теперь уточненный метод Эйлера.
Для сравнения точности приведенных методов численного решение данного уравнения решим его аналитически и найдем точные значения функции у на заданном отрезке.
Уравнение является линейным неоднородным дифференциальным уравнением первого порядка. Решим соответствующее ему однородное уравнение.
Решение неоднородного уравнения имеет вид Общее решение:
C учетом начального условия: Частное решение:
Для сравнения полученных результатов составим таблицу.
Как видно из полученных результатов метод Рунге – Кутта дает наиболее точный ответ. Точность достигает 0,0001. Кроме того, следует обратить внимание на то, ошибка (расхождение между точным и приближенным значениями) увеличивается с каждым шагом вычислений. Это обусловлено тем, что во – первых полученное приближенное значение округляется на каждом шаге, а во – вторых – тем, что в качестве основы вычисления принимается значение, полученное на предыдущем шаге, т.е. приближенное значение. Таким образом происходит накопление ошибки. Это хорошо видно из таблицы. С каждым новым шагом приближенное значение все более отличается от точного. |
Последнее изменение этой страницы: 2019-04-19; Просмотров: 175; Нарушение авторского права страницы