Алгоритмы численного интегрирования

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

Процесс отыскания решения дифференциального уравнения называется его интегрированием, а график решения дифференциального уравнения – интегральной кривой.

Разностные методы решения дифференциальных уравнений – это способы вычисления значений искомого решения у(х) на некоторой сетке значений аргумента.

Разностные методы позволяют находить только конк­ретное (частное) решение, например решение задачи Коши. Но эти методы в настоящее время являются основными при решении дифференциальных уравнений с помощью ПК.

Алгоритмы численного интегрирования - student2.ru Одним из простейших разностных методов является метод ломаных или метод Эйлера. Основан на аппроксимации участков траектории на шаге Алгоритмы численного интегрирования - student2.ru прямыми линиями.

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

Если требуется решить задачу Коши на отрезке [х, xn] на данном отрезке выбирают некоторую сетку значений аргумента х0, х1, ..., xn, для которых вычисляют значения функции у по схеме:

yn+1=yn+hnf(xn,yn), hn=xn+xn-1 ,

где n=0,1….N-1.

В методе Эйлера подынтегральная функция выносится при нижнем пределе интегрирования: Алгоритмы численного интегрирования - student2.ru . Это приближение геометрически соответствует движению от точки x к точке х+h по касательной к кривой y(x) в точке х.

Расчетные формулы метода Эйлера:

yk+1=yk+f(xk,yk)h, xk=xk-1+h,

y(x0)=y0, yk=y(xk).

Этот метод дает хорошее приближение к решению только для достаточно малых h, т.к. погрешность метода Эйлера определяется остаточным членом ряда Тейлора:

Алгоритмы численного интегрирования - student2.ru

Более высокую точность обеспечивает метод Рунге – Кутта. Наиболее употребительной является следующая схема метода:

Алгоритмы численного интегрирования - student2.ru

где

Алгоритмы численного интегрирования - student2.ru

В основе получения вычислительных схем этого метода лежит разложение функции y(x) в ряд Тейлора с последующим преобразованием отрезка ряда к виду, не содержащему производных. На шаге h производная Алгоритмы численного интегрирования - student2.ru = Алгоритмы численного интегрирования - student2.ru аппроксимируется параболой второго порядка. Здесь функция f(x,h) определяется формулой парабол:

Алгоритмы численного интегрирования - student2.ru .

Если у нас дано дифференциальное уравнение Алгоритмы численного интегрирования - student2.ru = Алгоритмы численного интегрирования - student2.ru при начальном условии (хАА), то по известным начальным условиям (хАА) определяется значение производной в начальной точке А: Алгоритмы численного интегрирования - student2.ru .

Из начальной точки А проведится прямая Алгоритмы численного интегрирования - student2.ru (рис 3) и отмечается значение ее ординаты в середине шага интегрирования h (т. В) с координатами Алгоритмы численного интегрирования - student2.ru .

Алгоритмы численного интегрирования - student2.ru Находится значение производной по формуле dy/dx=f(x,y) в точке В: Алгоритмы численного интегрирования - student2.ru и проводится из точки А прямую Алгоритмы численного интегрирования - student2.ru . Отмечаем значение ординаты этой прямой в середине шага интегрирования h (точка С) с координатами Алгоритмы численного интегрирования - student2.ru .

По уравнению Алгоритмы численного интегрирования - student2.ru = Алгоритмы численного интегрирования - student2.ru находится значение производной в точке С: Алгоритмы численного интегрирования - student2.ru и проводится из точки А прямая Алгоритмы численного интегрирования - student2.ru . Значение ординаты этой прямой в конце шага интегрирования h (точка D) с координатами Алгоритмы численного интегрирования - student2.ru .

По уравнению Алгоритмы численного интегрирования - student2.ru = Алгоритмы численного интегрирования - student2.ru находится значение производной в точке D:

Алгоритмы численного интегрирования - student2.ru .

В результате построений находится значение производных Алгоритмы численного интегрирования - student2.ru в точках А, В, С и D (рис 4). В точке с абсциссой Алгоритмы численного интегрирования - student2.ru получают два значения производной вместо одного, что является следствие приближенности метода. Принимается, что в этой точке среднее значение производной: Алгоритмы численного интегрирования - student2.ru . Алгоритмы численного интегрирования - student2.ru

Кривая, изображающая зависимость Алгоритмы численного интегрирования - student2.ru проходит через точки A, M и D, представляет собой параболу с уравнением:

Алгоритмы численного интегрирования - student2.ru .

Значения коэффициентов a, b и с выбираются из условия прохождения параболы через точки. Коэффициент Алгоритмы численного интегрирования - student2.ru . Из уравнения параболы Алгоритмы численного интегрирования - student2.ru получают систему:

Алгоритмы численного интегрирования - student2.ru

Решением системы является:

Алгоритмы численного интегрирования - student2.ru

Интегрируя уравнение параболы Алгоритмы численного интегрирования - student2.ru в пределах от x=xA до x=xA+h Алгоритмы численного интегрирования - student2.ru или, учитывая вышеизложенное:

Алгоритмы численного интегрирования - student2.ru

К достоинствам метода Рунге - Кутта следует отнести то, что алгоритмы, полученные на их основе, являются однородными, т.е. не вменяющимися при переходе от одной точки сетки к другой. Кроме того, в методах Рунге - Кутта возможно изменять шаг интегрирования в соответствии с требуемой точностью вычислений без значительного усложнения самого алгоритма. Основным недостатком является то, что для вычисления, приближенного решения в одной точке сетки требуется несколько вычислений правой части уравнения f(x,y). Это приводит, в особенности при сложных правых частях, к значительному увеличению времени вычислений.

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

Наши рекомендации