- •Конспект лекций Численные методы
- •1. Точные и приближенные методы решения линейных уравнений
- •2 Алгоритм отделения корней методом последовательного перебора
- •3.Алгоритмы уточнения корня
- •О точности полученных приближений (x2, , xcp) можно судить по невязке:
- •Точные и приближенные методы решения систем линейных уравнений
- •Численное интегрирование
- •6 Численное дифференцирование
- •6.2. Метод Рунге-Кутта
- •7. Решение задач интерполяции и экстраполяции.
6.2. Метод Рунге-Кутта
Метод Рунге-Кутта является наиболее распространенным методом решения дифференциальных уравнений при постоянном заданном шаге. Его достоинством является высокая точность.
Алгоритм реализации метода Рунге-Кутта для уравнений 1-го порядка (типа (7)) заключается в циклических вычислениях Y i+1 на каждом i+1 шаге по следующим формулам:
K1=h*F(Xi,Yi);
K2=h*F(Xi+h/2,Yi+K1/2);
K3=h*F(Xi+h/2,Yi+K2/2);
K4=h*F(X+h,Y+K3);
Y i+1 = Yi + (K1+2*K2+2*K3+K4) / 6 . (13)
Для дифференциальных уравнений 2-го порядка (типа (9)) метод реализуется с помощью следующих формул:
K1=h*F(Xi; Yi; Yi');
K2=h*F(Xi+h/2; Yi+h/2*(Yi'+K1/4); Yi'+K1/2);
K3=h*F(Xi+h/2; Yi+h/2*(Yi'+K1/4); Yi'+K2/2);
K4=h*F(Xi+h; Yi+h*Yi'+h/2*K3; Yi'+K3);
Y i+1 = Yi+h*[Yi'+(K1+K2+K3)/6];
Y'i+1 = Yi'+(K1+2*K2+2*K3+K4)/6. (14)
Перед началом вычислений надо задать шаг h и начальные условия (3).
7. Решение задач интерполяции и экстраполяции.
Пусть на интервале [a,b] заданы n+1 опорных (узловых) точек a xo< x1 < x2 <...< xn b. Пусть, кроме того, заданы n+1 действительных чисел yi(i=0, 1,2,...,n) (например, как значения функции в узловых точках). Под задачей интерполяции понимают нахождение многочлена In(x) степени не больше n такой, что In(xi)=yi для 0 i n.
Интерполяцию обычно применяют тогда, когда относительно f известны только дискретные значения функции y=f(x), и, чтобы вычислить другие ее значения между узловыми точками (интерполяция) или за отрезком узловых точек (экстраполяция), ее приближают многочленом In(x), причем f(xi)=In(xi) (i=0,1,2,...,n).
Всегда существует только один интерполяционный многочлен, который может быть представлен в различной форме.
Форма Лагранжа: In(x)= yiLi(x);
Li(x)= .
Нетрудно видеть, что Li(xi)=1, Li(xk)=0 при kj, и, следовательно, Ln(xi)=yi.
Форма Ньютона: In(x)= сiNi(x), N0=1,
Ni(x)=(x-x0)(x-x1)...(x-xi-1) (i=1,2,...,n),
Ci(i)=[x0x1x2...xi]=[xixi-1xi-2...x0],
где [xixi-1xi-2...x0]= ([xixi-1xi-2...x1]-[xi-1xi-2...x0]),
[xi]=yi (i=0,1,2,...,n).
Выражение [x0x1x2...xi] называется разделенной разностью. Для определения многочлена в форме Ньютона применяют разностную схему или схему спуска (см. литературу).
Пример. Нахождение интерполяционного многочлена.
Пусть после опыта получены следующие пары: x1=4, y1=1; x2=6, y2=1; x3=8, y3=1; x4=10, y4=1.
Многочлен Ньютона I3(x)=
=1+1(x-4)+ (x-4)(x-6)+ (x-4)(x-6)(x-8)= (2x3-27x2+142x-240).
Многочлен Лагранжа
I3(x)=1 8 +
+20 =- (x-6)(x-8)(x-10)+ (x-4)(x-8)(x-10)-
- (x-4)(x-6)(x-10)+ (x-4)(x-6)(x-8)= (2x3-27x2+142x-240).
Часто применяют равноотстоящие узловые точки (узловые точки, расположенные на равном расстоянии друг от друга):
x0=a; x1=a+h; x2=a+2h; x3=a+3h;...; xn =a+nh=b, т.е. h= .
В этом случае разделенные разности выражаются через простые разности:
[xkxk+1xi-2...xk+m]= myk,
где 0yk=yk, 1yk=yk+1-yk, myk=(m-1yk) (m=2,3,...,k).
Разностная схема упрощается. Формула Ньютона принимает вид In(x)=
=y0+y0(x-x0)+ 2y0(x-x0)(x-x1)+ ny0(x-x0)(x-x1)...(x-xn-1).