Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:

Вычислительная математика

..pdf
Скачиваний:
8
Добавлен:
05.02.2023
Размер:
1.87 Mб
Скачать

 

0 , 0

0

, m

 

G

 

 

 

(2.100)

 

m , 0

 

 

 

 

m , m

 

и называется матрицей Грама.

Элементами матрицы Грама являются скалярные произведения базисных функций:

n

 

( i , k ) i (xj ) k (xj ) .

(2.101)

j 0

Вектор свободных членов системы нормальных уравнений имеет вид:

( 0

, f )

 

 

 

( 2

, f )

 

(2.102)

b

 

,

 

( m

, f )

 

 

 

 

 

элементами этого вектора являются скалярные произведения

 

n

 

 

 

( k , f ) k (xj ) f (x j ) .

(2.103)

j 0

 

 

 

Матрица Грамма G обладает

следующими

основными

свойствами:

 

 

 

 

-матрица симметричная;

-матрица является положительно определенной, поэтому при решении системы нормальных уравнений методом исключения Гаусса можно отказаться от процедуры выбора главного элемента, а сразу брать в качестве ведущего диагональный элемент;

-определитель матрицы Грама отличен от нуля, если в ка-

честве

базиса

выбраны линейно независимые функции

 

 

 

 

 

k (x),

k 0, m .

 

Выбор базисных функций зависит от свойств аппроксими-

руемой функции

f (x) таких, как периодичность, логарифмиче-

ский или экспоненциальный характер, свойства симметрии, наличие асимптотики и т.д.

61

Рассмотрим частный случай, когда аппроксимирующая функция задана в виде алгебраического полинома степени m :

(x) a

a x

a xm .

(2.104)

 

0

1

 

m

 

Базисные функции в этом случае следующие:

 

(x) 1,

(x) x, ... ,

m

(x) xm .

(2.105)

0

1

 

 

 

 

Степень полинома m выбирают обычно меньше n. Аппроксимирующая кривая в этом случае не проходит через экспериментальные точки, т.е. экспериментальные данные «сглаживаются» с помощью функции (x) . Если взять m n , то (x)

совпадает с многочленом Лагранжа, аппроксимирующая кривая пройдет через все экспериментальные точки и S 0 .

Матрица Грамма G системы нормальных уравнений и вектор свободных членов b для функции (x) вида (2.104) записываются следующим образом:

 

n 1

 

 

n

 

 

x j

G

j 0

 

 

 

 

n

 

 

 

j

 

 

xm

 

j 0

 

n

 

 

n

 

x j

 

x2j

 

j 0

 

 

j 0

 

n

 

 

n

 

x2j

 

x3j

 

j 0

 

 

j 0

 

n

 

 

n

 

xmj

1

xmj 2

 

j 0

 

j 0

 

 

 

n

 

 

f (x j )

 

 

 

 

 

j 0

 

 

n

 

 

 

x j f (x j )

 

 

 

j 0

 

b

 

n

 

.

 

 

 

 

x j 2 f (x j )

 

 

j 0

 

 

 

 

 

 

 

 

n

 

 

 

 

x j m f (x j )

 

 

j 0

 

 

n

 

 

xmj

 

j 0

 

 

n

 

 

x j

 

m 1

j 0

 

, (2.106)

 

 

 

 

n

j

 

 

 

 

x2m

 

j 0

 

 

(2.107)

Пример 2.10. Исходные данные приведены в таблице:

62

xi

-1,01

-0,42

0,14

0,52

0,79

1,23

 

 

 

 

 

 

 

yi

-1,05

-0,45

0,52

0,51

0,81

0,39

 

 

 

 

 

 

 

Требуется построить аппроксимирующий многочлен 3-го порядка по методу наименьших квадратов. Сначала строятся матрица G и вектор b по формулам (2.106) и (2.107), затем, решив систему линейных алгебраических уравнений Ga b , определяем коэффициенты многочлена, которые будут равны следую-

щим: a0 0,189 , a1 1, 267 , a2 0,390 , a3 0, 412 . На рис

2.8 приведены график аппроксимирующего многочлена и исходные данные в виде точек. Как видно из графика исходные точки не лежат на аппроксимирующей кривой.

Рис. 2.8 – График аппроксимирующего многочлена

Лучшие по точности результаты при аппроксимации можно получить, если использовать в качестве базисных функцийi (x) классические ортогональные полиномы Лежандра.

Полиномы называются ортогональными, если существует некоторый интервал[a,b] , на котором

b

 

 

p(x) j (x) k (x)dx 0,

j k ,

(2.108)

a

где p(x) весовая функция.

63

В случае большого количества узлов x j на [a,b] значения

интегралов (2.108) будут близки к дискретным скалярным произведениям (2.101), так как интегрирование можно приближенно заменить суммированием. В этом случае недиагональные элементы матрицы Грама будут небольшими по абсолютной величине, что уменьшает погрешность решения системы нормальных уравнений.

Полиномы Лежандра на интервале[ 1, 1] являются ортого-

нальными с весовой функцией p(x) 1.

Они определяются по

следующей рекуррентной формуле:

 

 

 

L

(x)

1

(2k 1)xL (x) kL

(x) , (2.109)

 

k 1

 

k 1

k

k 1

 

 

 

 

 

 

где L0 (x) 1, L1 (x) x .

Если метод наименьших квадратов с ортогональным базисом применяется для произвольного интервала [ x0 , xn ] ( x0 1

и xn 1), то с помощью линейного преобразования

 

z 2

x x0

1

(2.110)

x

x

 

 

 

 

n

0

 

 

исходный интервал переводится в интервал [ 1, 1] .

2.15. Интерполирование при равноотстоящих узлах

2.15.1. Конечные разности

Будем предполагать, что заданы табличные значения функции yi f (xi ) , где xi x0 ih, i 0, n – равноотстоящие узлы, h xi 1 xi − шаг таблицы. Введем понятие конечной разности

j y

j 1 y

j 1 y , j 1, 2, ...,

(2.111)

i

i 1

i

 

( 0 yi yi , i 0, n).

64

Исследуем влияние погрешности табличных значений yi на по-

грешность конечных разностей. Пусть все yi (i 0, n) заданы с одинаковой абсолютной погрешностью 0. В силу формулы (2.111) конечная разность 1-го порядка yi yi 1 yi будет

вычислена с погрешностью

2 ,

конечная разность 2-го порядка – с погрешностью

4 ,

и далее конечная разность s-го порядка вычисляется с погрешностью

2s .

Если

функция

f (x)

гладкая,

то

разности

j y , j 1, 2, ... убывают с ростом j и для некоторого

j k

i

 

 

 

 

 

 

они незначительно отличаются между собой,

а при

j k 1

разности практически равны нулю. Так как с ростом порядка конечных разностей растет их погрешность, то таблица разностей искажается. Запишем правило определения максимального порядка разностей, которые ведут себя правильно. Если

max | j y | 2 j ,

и max | j 1 y | 2 j 1 ,

(2.112)

i

i

i

i

 

 

 

 

то максимальный порядок разностей, которые ведут себя правильно, равен j (или максимальный порядок правильных конечных разностей равен j). Конечные разности ( j 1) -го порядка

уже меньше погрешности, поэтому их применение приводит к искажению результата.

В дальнейшем нам потребуются свойства разделенных разностей.

Свойство 1:

f (x , x , ..., x )

i y

(2.113)

0 .

0 1

i

i!hi

 

Доказательство этого свойства можно выполнить достаточно просто методом математической индукции.

Свойство 2:

65

Если функция f (x) имеет на интервале [a, b] непрерыв-

ные производные порядка n и имеется таблица значений этой функции на этом интервале, то существует такая точка[a, b] , для которой справедливо равенство

n y

hn f (n) ( ).

(2.114)

0

 

 

Доказательство соотношения (2.114) следует из свойства 1 (формула 2.113) и формулы (2.28).

Замечание 2.1. Ранее было доказано, что разделенные разности являются симметричными функциями своих аргументов (см. п. 2.5, следствие 1), поэтому нижний индекс конечной разности в (2.113) определяется по минимальному номеру узлов, используемых для вычисления разделенной разности.

2.15.2. Интерполирование в начале и конце таблицы

Пусть нам дана таблица значений функции yi для узлов

xi x0 ih (i 0, n) , необходимо вычислить значение интерполяционного многочлена в точке x , находящейся вблизи начала таблицы (т.е. вблизи точки x0 . Воспользуемся формулой

Ньютона для неравноотстоящих узлов (2.24 ):

Ln (x) f (x0 ) (x x0 ) f (x0 , x1) (x x0 )(x x1)

f (x0 , x1, x2 )

(x x0 )(x x1)

 

(x xn 1 ) f (x0 , x1,..., xn ).

(2.115)

Введем новую переменную

t

x x0

, учитывая формулу

h

 

 

 

(2.113), получим 1-ю интерполяционную формулу Ньютона (для интерполирования вперед):

 

N

 

(x th) y

t

y

t(t 1)

2 y

 

n

 

 

 

 

 

 

0

 

0

1!

0

 

2!

0

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

t(t 1)(t 2)

3 y

 

 

 

t(t 1)

(t n 1)

n y . (2.116)

 

 

 

 

3!

0

 

 

 

 

 

 

n!

 

 

0

 

 

 

 

 

 

 

 

 

 

 

66

Остаточный член для этой формулы получим из (2.12) и с учетом замены переменной:

R (x) hn 1

t(t 1)

(t n)

f (n 1) ( ).

(2.117)

 

 

n

(n

1)!

 

 

 

 

 

Пусть точка x находится вблизи конца таблицы (вблизи узла xn ). Интерполяционные узлы будем привлекать в обратном

порядке: xn , xn 1,..., x0 . Тогда формула Ньютона для неравноот-

стоящих узлов примет вид

Ln (x) f (xn ) (x xn ) f (xn , xn 1) (x xn )(x xn 1)

f (xn , xn 1, xn 2 )

(x xn )(x xn 1)

 

(x x1) f (xn , xn 1,..., x0 ).

(2.118)

Введем переменную t

x xn

и учитывая формулу (2.113) и

h

 

 

 

замечание 2.1 получим 2-ю интерполяционную формулу Нью-

тона (для интерполирования назад)

 

 

 

 

th) y

 

 

t

 

y

 

t(t 1)

2 y

 

t(t 1)(t 2)

3

 

N

n

(x

n

 

 

 

 

 

n

 

 

 

1!

 

n 1

 

 

2!

 

n 2

3!

y

n 3

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

t(t 1)

(t n 1)

n y .

(2.119)

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

n!

 

0

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Остаточный член для этой формулы будет следующим

 

 

 

 

 

 

 

 

(x) hn 1

t(t 1) (t n)

f (n 1) ( ).

 

 

 

 

 

R

(2.120)

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

n

 

 

 

 

 

 

 

 

(n 1)!

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

2.15.3. Формулы Гаусса

Пусть требуется вычислить значение интерполяционного многочлена в точке x, для которой ближайшим является узел xk , расположенный в середине таблицы. Сначала будем пред-

полагать, что x xk . В интерполяционную формулу Ньютона узлы будем привлекать в следующем порядке: xk , xk 1, xk 1, xk 2 , xk 2 ,..., xk i , xk i (каждый раз привлекается ближайший к

67

точке x узел). Тогда формула Ньютона для интерполирования в точке x будет иметь вид

L2i (x) f (xk ) (x xk ) f (xk , xk 1) (x xk )(x xk 1)f (xk , xk 1, xk 1 ) (x xk )(x xk 1)(x xk 1)

f (xk , xk 1, xk 1, xk 2 )

(x xk )(x xk 1)

 

(x xk i ) f (xk , xk 1,..., xk i ) .

(2.121)

Учитывая формулу (2.113) и замечание 2.1, а также введя пере-

менную t

x xk

из (2.121), получим 1-ю формулу Гаусса (для

h

 

 

интерполирования вперед):

G

(x th) y

t

y

t(t 1)

2 y

 

 

t(t2 12 )

3 y

 

 

 

 

 

1

 

 

 

k 1

2i

 

k

k

1!

k

2!

 

 

k

 

 

3!

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

t(t2 12 )(t 2)

4 y

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

4!

 

 

 

 

k 2

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

t(t2 12 )(t2

22 )

 

(t2 (i 1)2 )(t i)

2i y

.

(2.122)

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

(2i)!

 

 

 

 

 

k i

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Остаточный член для 1-ой формулы Гаусса (2.122) имеет

вид:

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

R

(x) h2i 1

t(t2 12 )

(t2

i2 )

f (2i 1) ( ).

(2.123)

 

 

 

 

 

 

 

 

 

 

 

2i

 

 

 

 

 

 

 

 

(2i 1)!

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Если 1-ая формула Гаусса является многочленом нечетной

степени, то остаточный член будет следующим

 

 

 

 

R

 

(x) h2i 2

t(t2

12 )

 

(t2 i2 )(t i 1)

f (2i 2) ( ).

(2.124)

 

 

 

 

 

 

 

 

 

 

 

 

 

2i 1

 

 

 

 

 

 

 

 

 

(2i 2)!

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Вторая формула Гаусса получается при интерполировании

в середине таблицы,

в случае когда

x xk

(узел xk является

ближайшим к точке x ). При этом порядок подключения узлов в

интерполяционную

формулу

выбирается

следующий:

xk , xk 1, xk 1, xk 2 , xk 2 , ..., xk i , xk i

(каждый раз

привлекается

ближайший к точке

x узел). Тогда поступая также как и в слу-

чае вывода 1-й формулы Гаусса, учитывая формулу (2.113), за-

68

мечание 2.1, а также введя переменную t

x xk

, из формулы

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

h

 

 

 

Ньютона для неравноотстоящих узлов

 

 

 

 

 

 

 

 

 

 

 

 

 

L2i (x) f (xk ) (x xk ) f (xk , xk 1) (x xk )(x xk 1)

 

 

 

 

 

f (xk , xk 1, xk 1) (x xk )(x xk 1)(x xk 1)

 

 

 

 

f (xk , xk 1, xk 1, xk 2 )

(x xk )(x xk 1)

 

 

 

 

 

 

 

 

 

(x xk i ) f (xk , xk 1,..., xk i , xk i )

 

 

 

получим 2-ю формулу Гаусса (для интерполирования назад):

 

 

 

 

(x th) y

t

 

y

 

t(t 1)

2 y

 

 

t(t2 12 )

 

3 y

 

G

k 1

 

 

 

 

 

 

2i

k

k

1!

k 1

2!

 

 

3!

 

 

k 2

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

t(t2 12 )(t 2)

4 y

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

4!

 

 

 

 

k 2

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

t(t2

12 )(t2

22 )

 

(t2 (i 1)2 )(t i)

2i y

 

. (2.125)

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

(2i)!

 

 

 

 

 

 

 

k i

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Остаточный член для 2-ой формулы Гаусса четной степени имеет вид (2.123), а для многочлена нечетной степени будет следующим:

 

 

 

(x) h2i 2

t(t2 12 )

(t2 i2 )(t i 1)

f (2i 2) ( ). (2.126)

R

 

 

 

2i 1

 

 

(2i 2)!

 

 

 

 

 

 

 

2.15.4. Формула Стирлинга

Известно, что уменьшение степени аппроксимирующего многочлена без потери точности иногда можно достигнуть, образуя линейные комбинации интерполяционных многочленов. Простейшим из таких многочленов является многочлен Стирлинга. Этот многочлен является полусуммой 1-ой и 2-ой формул Гаусса:

 

 

 

 

 

 

 

 

S(xk th)

G(xk

th) G

(xk

th)

.

(2.127)

 

2

 

 

 

 

 

 

 

 

 

 

69

Учитывая выражения для формул Гаусса (2.122), (2.125), а также то, что многочлены Стирлинга рекомендуется использовать для нечетной степени относительно t , получим следующее выражение:

S(x th) y

t

 

( yk yk 1 )

 

t2

 

2 y

 

t(t2 12 )

 

 

 

 

 

 

 

 

k

 

k

1!

 

2

 

 

 

2!

k 1

 

 

3!

 

 

 

 

 

 

 

 

 

 

 

 

 

( 3 yk 1 3 yk 2 )

 

t2 (t2 12 )

4 y

 

 

 

 

 

 

 

 

2

 

 

 

4!

 

 

 

k 2

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

t(t2

12 ) (t2

i2 ) ( 2i 1 y

k i

2i 1 y

)

 

 

 

 

 

 

 

 

 

 

 

 

 

 

k i 1

 

. (2.128)

 

(2i 1)!

 

 

 

 

 

 

2

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Многочлен (2.128) называется формулой Стирлинга, ее используют для аппроксимации в середине таблицы при | t | 0, 25.

Остаточный член для формулы Стирлинга равен полусумме остаточных членов (2.124), (2.126).

2.15.5. Формула Бесселя

Формула Бесселя также используется для аппроксимации в середине таблицы. Эта формула определяется из соотношения:

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

G(xk th) G(xk 1

 

 

 

B(xk

th)

t h)

,

(2.129)

 

 

 

2

 

 

 

 

 

 

 

 

 

 

 

 

 

где t

(x xk )

,

t

(x xk 1 )

,

т.е. t t 1. Учитывая выра-

 

h

 

 

 

 

 

h

 

 

 

 

 

 

 

жения для формул Гаусса (2.122), (2.125), а также то, что многочлены Бесселя рекомендуется использовать для четной степени относительно t , в силу формулы (2.129) получим следующее выражение

B(x th)

y y

 

(t

1

)

y

 

 

t(t 1) ( 2 y

 

2 y )

 

2

 

k 1

k k 1

 

 

 

 

 

 

 

 

 

 

 

k

 

 

 

 

k

 

 

 

 

 

 

 

 

 

 

 

k

 

2

 

1!

 

 

 

 

 

2!

 

 

 

2

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

(t

1

)t(t 1)

3 y

 

t(t2 12 )(t 2)

 

( 4 y

4 y

)

 

 

 

 

2

 

 

 

 

 

 

 

 

 

 

 

 

k 2

 

 

k 1

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

3!

 

k 1

 

 

 

 

4!

 

 

 

 

 

 

 

2

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

70