Численное решение обыкновенных дифференциальных уравнений
Краткое введение. Дифференциальное уравнение первого порядка,разрешенное относительно производной, имеет вид y ' = f (x,y). (1) Решением дифференциального уравнения (1) называется функция φ (x), подстановка которой в уравнение обращает его в тождество: φ ' (x) = f (x, φ (x)). График решения y = φ (x) называется интегральной кривой. Задача Коши для дифференциального уравнения (1) состоит в том, чтобы найти решение уравнения (1), удовлетворяющему начальному условию (2) пару чисел (x0, y0 ) называют начальными данными. Решение задачи Коши называется частным решением уравнения (1) при условии (2). Численное решение задачи Коши (1) - (2) состоит в том, чтобы получить искомое решение φ (x) в виде таблицы его приближенных решений для заданных значений аргумента x на некотором отрезке [ a, b ]: X0 = a, x 1, x 2,..., x m = b (3) Точки (3) называются узловыми точками, а множество этих точек называется сеткой на отрезке [ a, b ]. Будем использовать равномерную сетку с шагом h: h = (b - a) / m; x i - x i - 1 = h или x i = x 0 + ih (i = 1,..., m). Приближенные значения численного решения задачи Коши в узловых точках x i обозначим через y i; таким образом, (i = 1,..., m). Для любого численного метода решения задачи (1) - (2) начальное условие (2) выполняется точно, т. е. . Величина погрешности численного метода решения задачи Коши на сетке отрезка [ a, b ] оценивается величиной , Говорят, что численный метод имеет p - й порядок точности по шагу h на сетке, если расстояние d можно представить в виде степенной функции от h: , p > 0, где c - некоторая положительная постоянная, зависящая от правой части уравнения (1) и от рассматриваемого метода. В данном случае очевидно, что когда шаг h стремится к нулю, погрешность d также стремится к нулю. Метод Эйлера. Простейшим численным методом решения задачи Коши (1) - (2) является метод Эйлера. Угловой коэффициент касательной к интегральной кривой в точке P0 (x0, y0) есть y '0 = f (x0,y0 ). Найдем ординату y1 касательной, соответствующей абсциссе x 1 = x 0 + h. Так как уравнение касательной к кривой в точке P 0 имеет вид y - y0 = y ' (x - x0 ), то y1 = y0 + h f (x0, y0 ). Угловой коэффициент в точке P1 (x1 ,y1) также находится из данного дифференциального уравнения y'1 = f(x1,y1). На следующем шаге получаем новую точку P2 (x2 ,y2), причем x2 = x1 + h, y2 = y1 + hf(x1 ,y1). Продолжая вычисления в соответствии с намеченной схемой, получим формулы Эйлера для m приближенных значений решения задачи Коши с начальными данными (x0, y0) на сетке отрезка [ a, b ] с шагом h: xi = xi -1 + h, yi = yi - 1 + hf(xi - 1 , yi - 1 ) (i = 1,2,..., m) (4) Графической иллюстрацией приближенного решения является ломаная, соединяющая последовательно точки P0 , P1, P2,...,Pm, которую называют ломаной Эйлера. Погрешность метода Эйлера можно оценить неравенством или представить в виде , где . Это означает, что метод Эйлера имеет первый порядок точности. В частности, при уменьшении шага h в 10 раз погрешность уменьшится примерно в 10 раз. Практическую оценку погрешности решения, найденного на сетке с шагом h/2, в точке производят с помощью приближенного равенства - правила Рунге: , (5) где p - порядок точности численного метода. Таким образом, оценка полученного результата по формуле (5) вынуждает проводить вычисления дважды: один раз с шагом h, другой - с шагом h/2. Методы Рунге - Кутта. Численные методы решения задачи Коши , на равномерной сетке { x0 = a, x1 , x2 ,...,xm = b}отрезка[ a, b ]с шагом h = (b -a ) / m являются методами Рунге - Кутта, если, начиная с данных (x0,y0 ), решение ведется по следующим рекуррентным формулам (6)
Метод называют методом Рунге - Кутта порядка p,если он имеет p - й порядок точности по шагу h на сетке. Порядок точности p достигается с помощью формул (6) при определенных значениях коэффициентов cj и dj(j = 1,2,...,p); c1 всегда полагают равным нулю. Метод Рунге - Кутта второго порядка называют методом Эйлера - Коши, если p = 2, c1 = 0, c2 = 1, d1 = d2 = 1/2. Алгоритм Эйлера - Коши получается из формул (6):
xi =xi-1 + h, yi = yi-1 + Δyi-1, Δyi-1 = (1/2)[ k1[i -1] + k2[i -1]] (i = 1,..., m), (7) k1[ i - 1] = hf (xi-1,yi-1), k2[ i - 1 ] = hf (xi-1 + h, yi-1 + hf (xi-1 ,yi-1))
Для практической оценки погрешности решения можно применять правило Рунге, полагая в формуле (5) р = 2. Метод Рунге - Кутта четвертого порядка называют классическим методом Рунге - Кутта, если p = 4, c1 = 0, c2 = c3 = 1/2, c4 = 1, d1 = d4 = 1/6, d2 = d3 =1/3. Из рекуррентных формул (6)получим алгоритм решения задачи Коши классическим методом Рунге - Кутта:
x I = x i - 1 + h, y i = y i - 1 + Δy i – 1 (i = 1,2,..., m), Δyi-1 = 1/6 [ k1[ i - 1] + 2 k2[ i - 1] + 2k3[ i - 1] + k4[ i - 1] ], k1[ i - 1] = h f (xi - 1, yi -1), k2[ i - 1 ] = h f(xi - 1 + (1/2) h, y i - 1 + (1/2)k1[ i - 1 ]), k3[ i - 1] = h f (xi - 1 + (1/2)h, y i - 1 + (1/2)k2[ i - 1 ]), k4[ i - 1 ] = h f(xi - 1 + h, y i - 1 + k3[ i - 1 ]), Графиком приближенного решения является ломаная, последовательно соединяющая точки Pi(xi, yi) ( i = 0, 1, 2,..., m ). С увеличением порядка численного метода звенья ломаной приближаются к ломаной, образованной хордами интегральной кривой y = φ(x), последовательно соединяющими точки (xi, φ(xi)) на интегральной кривой. Правило Рунге (5) практической оценки погрешности решения для численного метода четвертого порядка имеет вид
|