Московский Государственный университет им.М.В.Ломоносова
Факультет вычислительной математики и кибернетики

Д.П.Костомаров

Введение в численные методы
Методическое пособие для 2 курса
1999


Содержание

Введение

I. Интерполирование

§ 1. Интерполирование полиномами

§ 2. Интерполированиие сплайнами

II. Численное интегрирование

§ 1. Квадратурные формулы прямоугольников, трапеций, Симпсона

§ 2. Квадратурные формулы Гаусса

III. Численное решение систем линейных алгебраических уравнений

§ 2. Метод Гаусса

§ 3. Системы с трёхдиогональными матрицами. Метод прогонки

§ 4. Обусловленность систем линейных алгебраических уравнений

§ 5. Итерационные методы решения систем линейных алгебрпических уравнений

IV. Численное решение обыкновенных дифференциальных уравнений

§ 1. Разностные уравнения

§ 2. Численное решение задачи Коши

Литература



 


Введение

    Данное пособие представляет собой систематизированное содержание лекций по курсу “Ведение в численные методы”, который читается на втором курсе факультета ВМиК с 1994 г. и содержит последовательное изложение основных понятий, определений, теорем и утверждений, рассматриваемых и доказываемых на лекциях.
 
 

I. Интерполирование

§ 1. Интерполирование полиномами


 


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 ' . Этот полином и называется полиномом Эрмита.
 
 

§ 2. Интерполированиие сплайнами



Пусть функция 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 , и решать ее далее с помощью метода прогонки (см. далее).
 
 

II. Численное интегрирование

§ 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. Квадратурные формулы Гаусса

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. Метод Гаусса


 


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.
 
 

§ 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.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. Численное решение задачи Коши


 


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.