Д.П.Костомаров
Введение в численные методы
Методическое пособие
для 2 курса
1999
Содержание
§ 1. Интерполирование полиномами
§ 2. Интерполированиие сплайнами
§ 1. Квадратурные формулы прямоугольников, трапеций, Симпсона
§ 2. Квадратурные формулы Гаусса
III. Численное решение систем линейных алгебраических уравнений
§ 2. Метод Гаусса
§ 3. Системы с трёхдиогональными матрицами. Метод прогонки
§ 4. Обусловленность систем линейных алгебраических уравнений
§ 5. Итерационные методы решения систем линейных алгебрпических уравнений
IV. Численное решение обыкновенных дифференциальных уравнений
§ 1. Разностные уравнения
§ 2. Численное решение задачи Коши
Данное
пособие представляет собой систематизированное содержание лекций по курсу
“Ведение в численные методы”, который читается на втором курсе факультета
ВМиК с 1994 г. и содержит последовательное изложение основных понятий,
определений, теорем и утверждений, рассматриваемых и доказываемых на лекциях.
1.1. Опр. Пусть функция f(х) задана таблично на [a,b]:
x0 = a, xn = b , x0 < x1 < x2 < .... < xn , yi = f(xi) i = 0,..., n
Тогда построение непрерывной на [a,b] функции j (x) , такой что j (xi) = yi называется интерполяцией функции f(x) на [a,b].
1.2. Опр. Пусть
полином степени n Ln(x) = a0 xn
+ a1 xn-1 + ... + an интерполирует
y=f(x) на [a,b],
т.е. Ln(xi)
= yi= f(xi). Тогда Ln(x)
называется интерполяционным полиномом.
Утверждение. Интерполяционный многочлен степени n для функции y=f(x), заданной таблично в n+1 точках, существует и единственен.
Данное утверждение следует
из того, что определитель Вандермонда отличен от нуля.
1.3. Интерполяционный многочлен в форме Лагранжа имеет вид .
1.4. Теорема.
Пусть функция y=f(x) имеет n+1 непрерывную производную на [a,b], и Ln(x) - интерполяционный многочлен, Ln(xi) = f(xi) , i=0,1,...,n. Тогда для погрешности интерполяции y (x) = п L(x) - f(x)п справедлива оценка
,
где
1.5. Полиномы Эрмита
Полиномы Эрмита интерполируют таблично заданную функцию с учетом известных значений производной в узлах сетки.
Пусть заданы n+1 узлов xi , x0 =
a, xn = b , x0 < x1 < x2
<....< xn , значения функции
в них yi = f(xi)
и значения производной в них yi ' = f' (xi)
i = 0,..., n. Требуется построить полином P2n+1
(x) такой, что P2n+1(xi) = yi, P2n+1'
(xi) = yi ' . Этот полином
и называется полиномом Эрмита.
Пусть функция y=f(x) задана таблично :
x0 = a, xn = b , x0 < x1 < x2 < .... < xn , yi = f(xi) i = 0,..., n.
2.1. Опр. Кубической сплайн-интерполяцией называется функция j (x) такая, что
j (xi) = f(xi) , i=0,1,...,n ,
j ' (xi-0)
= j ' (xi+0) ,
(1)
j ' ' (xi-0)
=
j ' ' (xi+0),
i=1,...,n-1
j ' ' (x0) =0, j ' ' (xn) =0,
и j (x) = ai + bi(x-xi) +ci(x-xi)2 +di(x-xi)3 , xi-1 Ј x Ј xi
Величины
коэффициентов a,b,c,d, находятся из системы уравнений (1). Для нахождения
значений этих коэффициентов удобно, с помощью последовательного исключения
неизвестных, редуцировать систему (1) к системе трехточечных уравнений
относительно коэффициентов сi ,
и решать ее далее с помощью метода прогонки (см. далее).
§ 1. Квадратурные формулы прямоугольников, трапеций, Симпсона
Опр. Выражение
вида
предназначенное для вычисления
определенного интеграла называется
квадратурной формулой.
Опр. Величина
R=I - S называется погрешностью квадратурной формулы.
1.1. Формула прямоугольников
Простая : S0 = (b-a) f ( (b+a)/2 ) , R0 = -(b-a)3 f ’’(x)/ 24 , x О (a,b)
Составная: , h=(b-a)/n
Формула трапеций
Простая : S1 = (b-a)( f(b) + f(a) )/ 2, R1 = (b-a)3 f ’’(x)/ 12 , x О (a,b)
Составная: , h=(b-a)/n
Формула Симпсона
Простая : S2 = (b-a)( f (a) + 4f( (b+a)/2 ) + f(b) )/ 6,
R2 = (b-a)5 f (4)(x )/ 90 , x О (a,b)
Cоставная: ,
h=(b-a)/n, здесь - четное
число.
2.1.
В квадратурных формулах Гаусса ищутся не только
коэффициенты Сi , но и точки
xi - из соображений обеспечения
точности квадратурной формулы для полинома максимальной степени.
Квадратурная формула Гаусса
будет точна для произвольного
полинома степени 2n+1,если величины ci
и xi удовлетворяют системе
уравнений:
2.2.
Можно показать, что узлы
xj квадратурной формулы
на отрезке [-1,1] являются корнями полинома Лежандра:
,
а коэффициенты квадратурной формулы вычисляются по формулам
III. Численное решение систем линейных алгебраических уравнений
Постановка задачи
Найти вектор x , удовлетворяющий уравнению
Ax = f ,
где A - квадратная матрица порядка n,
A = { ai, j }, i,j
= 1,2,...,n,
x T = {x1,x2,...,
xn }, f T = { f1,f2,...,fn
},
или, что тоже самое, найти x1,x2,..., xn удовлетворяющие системе уравнений
a 11 x1 + a 12 x2 + ... + a 1n xn = f 1
a 21 x1 + a 22 x2 + ... + a 2n xn = f 2
................................................
a n1 x1 + a n2
x2
+ ... + a nn xn = f n
2.1. Метод Гаусса состоит в приведении матрицы к треугольному виду.
Приведение матрицы к треугольному виду осуществляется по формулам
, m= k+1,...,n, l= k,..., n, k=1,...,n-1.
(прямой ход метода Гаусса), в результате чего получается система
a(n) 11 x1 + a(n) 12 x2 + ... + a(n) kk x k + ... + a(n) 1n xn = j (n)1
a(n) 22 x2 + ... + a(n) kk x k + ... + a(n) 2n xn = j (n) 2
....................................................................
a(n) kk x k + ... + a(n) kn xn = j (n)k
....................................................................
a(n) nn xn
= j
(n)
n
Вычисление решения x1,x2,..., xn осуществляется следующим образом
(формулы обратного хода Гаусса)
2.2. Общее число действий
в методе Гаусса порядка (n3 +3n2)/3.
Метод прогонки
Метод прогонки применяется для решения систем линейных уравнений с матрицей специального вида - трехдиагональной матрицей :
- ai xi-1 + ci xi - bi xi+1= fi, i=2, ... , n-1
x1 = k 1 x2 + n 1 (2)
xn = k
2
xn-1 + n 2
На первом этапе находятся коэффициенты
a i+1 = bi /(ci - ai a i) , b i+1 = ( b i ai + fi ) /(ci - ai a i ) i=2, ... , n-1 (прямой ход), a 2 = k 1 , b 2 = n 1,
а на втором этапе находится решение
xi = a i+1 xi+1 + b i+1 , i = n-1, ... ,2,1
xn = (n
2
+ b n ) / ( 1-a
n
k
2 ).
Для корректности метода прогонки достаточно, чтобы коэффициенты a i были по модулю меньше единицы, а выражения в знаменателях формул были отличны от нуля. Достаточные условия корректности прогонки формулируются в следующих теоремах.
Теорема
Пусть система уравнений (2)
такова, что ai > 0, bi > 0, ci
> 0, ci і ai + bi
, i=2,..., n-1,
и пk
1п + пk
2п <2, пk
1п
Ј 1,
пk
2п
Ј
1.
Тогда метод прогонки корректен.
Теорема
Пусть система уравнений (2)
такова, что ai > 0, bi > 0, ci
> 0, ci і
ai + bi , i=2,..., n-1,
и существует i0
>1 такое, что ci0 > ai0 + bi0
, и п k 1п
Ј
1, п k
2п
Ј
1.
Тогда метод прогонки корректен.
Теорема
Пусть система уравнений (2)
такова, что зaiз
, зbi з
,зci з
>0, зci з
>
зaiз+...+зbi
з , i=2,..., n-1,
и п
k
1п
Ј
1,
п k
2п
Ј
1.
Тогда метод прогонки корректен.
§ 4. Обусловленность систем линейных алгебраических уравнений
4.1. Опр. Под
нормой
матрицы А будем понимать
§ 5. Итерационные методы решения систем линейных алгебрпических уравнений
5.1. Канонический вид
одношаговых итерационных методов для решения системы линейных
алгебраических уравнений
Ax = f :
где Вк+1 - квадратная матрица nґ n , t k+1 > 0 - итерационный параметр. В дальнейшем будем использовать следующие согласованные нормы в конечномерном пространстве размерности n:
- евклидова норма
- норма в С
- энергетическая норма A=A*>0
5.2. Итерационный метод сходится, если .
Опр. Величина zk = xk - x называется погрешностью решения.
Опр. Если Bk+1
= B и t k+1 = t
то метод называется стационарным
Теорема.
Пусть A=A* >0, и B- 0.5t A>0 тогда итерационный метод
сходится в норме кк
* кк
A , .
5.3. Метод простой итерации
Канонический вид метода простой итерации -
Теорема
Пусть A=A*>0, ,
тогда метод простой итерации сходится.
Замечание. Если A=A*>0 то у матрицы А существует n собственных значений lk таких, что
0< l min=l 1<l 2<...<l n-1<l n=l max ,
при этом и .
Можно найти оптимальное значение итерационного параметра t = t 0 такое, что заданная точность решения будет достигаться за минимальное число итераций.
Теорема
Пусть A=A*>0,
тогда при для
погрешности явного метода простой итерации zk
справедлива оценка .
5.4. Метод Зейделя
Каноническому виду метода Зейделя соответствует
B=(D+L), t
=1, где D -диагональная матрица, L - нижняя треугольная матрица
Индексный вид метода Зейделя:
Теорема
Пусть A=A*>0, тогда метод Зейделя сходится.
Теорема
Пусть матрица A такова, что,
i=1,..., n, к qк
<1, тогда метод Зейделя сходится со скоростью геометрической прогрессии
со знаменателем q,
т.е. .
Метод релаксации
Канонический вид:
w < 1- метод нижней релаксации
w = 1- метод Зейделя
w > 1- метод верхней релаксации
Теорема Пусть
A=A*>0, 0<w
<2, тогда метод релаксации сходится.
IV. Численное решение обыкновенных дифференциальных уравнений
1.1. Опр. Пусть дан отрезок [a,b]. Равномерной сеткой на этом отрезке назовем множество узлов w h такое, что w h = { xj = jh, j=0,...,n, h=(b-a)/n) }.
Опр. Сеточной функцией y = yj = y(xj) называется функция, заданная в узлах сетки.
Любую сеточную функцию y
j
= y(xj) можно представить в виде
вектора
Y=(y0,
y1, ..., yn-1, yn),
и, следовательно, множество сеточных функций образует конечномерное пространство,
в данном случае размерности n+1. В этом пространстве можно ввести норму,
например
или .
Пусть дано дифференциальное
уравнение
Lu(x) = f(x,u) ( например, )
.
1.2. Заменим Lu в узле сетки xi линейной комбинацией значений сеточной функции yi на некотором множестве узлов сетки, называемом шаблоном. Такая замена Lu на Lh yh называется аппроксимацией на сетке дифференциального оператора L разностным оператором Lh . Замена непрерывной функции f(x,u) в узлах сетки на сеточную функцию j (xh,yh) называется аппроксимацией правой части.
Таким образом дифференциальное уравнение можно аппроксимировать (заменить) на сетке разностной схемой
Lh yh = j ( xh,yh) ( например, ).
Изучение разностных аппроксимаций проводится сначала локально, т.е. в любом фиксированном узле сетки.
Пусть uh - проекция непрерывной функции u(x) на сетку ( например, uh = u(xj) = uj ).
Опр. Погрешностью
аппроксимации дифференциального оператора Lu разностным оператором Lh
назовем величину
y
1 = (Lu)h
- Lh uh , где (Lu)h
- проекция на сетку результата действия дифференциального оператора L на
функцию u
( например, ) .
Опр. Говорят,
что погрешность аппроксимации дифференциального оператора имеет в узле
xi порядок k , если
y
1(xi)
= O(hk) ®
0 при h® 0.
Опр. Погрешностью аппроксимации правой части f сеточной функцией j h назовем величину y 2 = fh - j h , где fh - проекция на сетку функции f(x,u) (например, f(xj ,uj).
Опр. Погрешность аппроксимации правой части имеет в узле xi порядок m , если y 2 = O(hm) ® 0 при h® 0
Опр. Погрешностью аппроксимации разностной схемы на решении в узле xi (локальной погрешностью) назовем величину y , равную
y = y 1 - y 2 = (Lu)h - Lh uh - ( fh - j h )= j h - Lh uh ,
здесь использовано, что Lu=f.
.
Опр. Значения локальной погрешности аппроксимации в каждом узле xi образуют сеточную функцию погрешности аппроксимации y i .
Обычно требуется оценка погрешности аппроксимации на сетке, т.е. оценка функции y i в некоторой сеточной норме.
Опр. Говорят,
что погрешность аппроксимации разностной схемы
имеет m-ый порядок на сетке,
если чкyчк = O(hm).
Опр. Решение разностной схемы сходится к решению дифференциального уравнения с порядком k на сетке, если погрешность решения
ч к
zh ч к
=ч к uh
- yh ч к
= O(hk) ®
0 при h® 0.
2.1. Требуется найти численное решение задачи Коши для ОДУ первого порядка
На отрезке [0,T] вводим разностную
сетку w t
= { tn = nt , n=0,...,N,
t
=T/N } и сеточную
функцию yn
= y(tn).
2.2. Метод Эйлера
Явный метод Эйлера.
Погрешность аппроксимации
явного метода Эйлера y = O(t
) - первого порядка
( y
1 = O(t ), y
2 = 0 ).
2.3. Одним из способов повышения порядка сходимости разностных схем для ОДУ является использование методов Рунге-Кутта. Общий вид схем Рунге -Кутта для решения задачи Коши для ОДУ первого порядка имеет следующий :
Величины pk
и a k
выбираются из соображений аппроксимации.
Метод Рунге - Кутта второго порядка
Величины p1,
p2 , a
определяются из условия второго порядка аппроксимации,
для данной схемы p1
= (2 a -1)/ a , p2
= 1/2 a .
Метод Рунге- Кутта второго порядка можно записать в другом виде
Условие второго порядка
аппроксимации (1-s )a
=0.5.
На практике широко распространен
Метод
Рунге - Кутта четвертого порядка :
Данная схема имеет четвертый
порядок аппроксимации.
2.4.
Другую возможность для повышения
порядка сходимости разностных схем для решения ОДУ предоставляют Методы
Адамса.
В методах Адамса коэффициенты bi находятся из условий наивысшего для данного p порядка погрешности аппроксимации.
Методы Адамса являются многошаговыми и являются разновидностью p - шаговых методов. P-шаговый метод может быть записан в следующем общем виде:
P- шаговому методу Адамса соответствует набор коэффициентов a i вида
a0 =1, a1 = -1, a2 =
... = ap=0
Явный двухшаговый метод
Адамса.
Погрешность аппроксимации
имеет второй порядок. Для нахождения y1
(со вторым порядком) используется обычно схема Рунге-Кутта второго порядка.
Неявный двухшаговый метод
Адамса.
Погрешность аппроксимации имеет третий порядок . Для начала решения задачи Коши для ОДУ первые p шагов нужно сделать с помощью какого-либо другого метода, например, метода Рунге - Кутта.
[1] А.А. Самарский. Введение
в численные методы. Москва: Наука, 1987.
[2] А.А. Самарский, А.В.
Гулин. Численные методы. Москва: Наука, 1989.
[3] А.Н.Тихонов, Д.П.Костомаров.
Вводные лекции по прикладной математике. Москва: Наука, 1984.