Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Численные методы Часть 1..pdf
Скачиваний:
11
Добавлен:
15.11.2022
Размер:
5.23 Mб
Скачать

На рис. 4.1 приведен пример аппроксимации непрерывной функции f(x) = |х| на

последовательности сеток с равноотстоящими узлами.

Рис. 4.1. Аппроксимация на отрезке [-1. I] функции f(x) = |х| полиномами Р„. построенными с использованием равномерных сеток

На рис. 4.2 представлен график погрешности аппроксимации функции f(x) = |.\| полиномамм на равномерных сетках в зависимости от числа отрезков сеточной области.

Ilf-Pnll

Рис. 4.2. Погрешность аппроксимации на отрезке [-1, 1] функции f(x) = |х| в зависимости от числа отрезков равномерной сетки

Теорема 4.2. Если функция у(х) непрерывна на отрезке [а,Ь], то найдется такая

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

На рис. 4.3 приведен пример аппроксимации непрерывной функции f(x) = |х| на последовательности неравномерных (чебышевских) сеток. На рис. 4.4 представлен график погрешности аппроксимации функции f(x) = |х| полиномом Р„ на чебышевской сетке в зависимости от числа отрезков сеточной области.

Рис. 4.3. Аппроксимация на отрезке [-1. 1] функции f(x) = |х| полиномами Рп, построенными с использованием чебышёвских сеток

Интерполяционный многочлен Эрмшпа1

 

 

Пусть заданы значения ук функции и некоторых

ее производных

в точках

хк, к = 0,п отрезка [а,Ь]. Если потребовать от полинома

Рп(х) совпадения

не только

значений функции (4.1), но и значений производных в заданных точках, интерполяция носит название эрмитовой, а сам полином обозначается как Нр(х).

1 Эрмит Шарль [24.12.1822 - 14.1.1901] - французский математик. С 1856 года

являлся членом

Парижской академии наук, с 1857 года

иностранным члспом-корреспондеитом

Петербургской

академии наук. С 1869 года был профессором Парижского университета. С 1873 юла пал членом

Лондонского королевского общества. С 1895

избран иностранным почешы.м

Петербургской академии наук.

 

у(*о.х.) =

Построим полином Р„(х) согласно процедуре Ньютона. Далее начнем сближать, например, узлы х„ и х ,, которые в пределе совпадут, то есть появится кратный узел х„ = х ,. что делает невозможным подсчет разделенной разности,

у(хо)-у(х,)

х„-х .

Однако с помощью предельного перехода можно установить, что

l i m y ^ . x ,^

^ Х|^ = у'(х,).

Т..4Т. Х ' T.^f.

V _ Т

' '

l|f-Pn||

Рис. 4.4. Погрешность аппроксимации функции f(x) = |х| на отрезке [-1, 1] в зависимости от числа отрезков чебышёвской сетки

Иными словами, первая разделенная разность, что уже отмечалось ранее, совпадает со значением первой производной в точке х0. Это будет означать также, что полином Эрмита Нр(х) позволяет правильно передавать значения производных.

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

следующим образом:

х«, Х|

„Л, _ „ . ч_У(*о.*в.Х|)-у(х».Х|.х,)_У'(*.)-2у(хо.Х|) +У'(х1)

Д А0’Л0»Х1»Х1) ~ -------------------------------- ” ----------------------------------•

Отсюда следует, что слияние трех узлов дает возможность интерполяции значений вторых производных, и так далее.

В общем случае имеет место формула:

у|*о.*о

Оценку точности аппроксимации выполним с ипользованием формулы (4.7):

|у0 0 - н . ( Ф т^ | ® ( 4

 

i m k = n +i,

Vn + V-

k-0

k->0

где р - число точек интерполяции, mk - число значений функции и ее производных в

точке хк . Такой выбор функции а>(х) обеспечивает обращение в нуль не только g(s). но

и ее производных g"4 (xk) .

На рис. 4.5 приведены приближения функции Г(х) = х + sin(x) полиномами Эрмита

Нз(х). Hs(x), Н^х), НИх) (на рисунке аппроксимация ННх) практически совпадает с самой функций) и полиномом Лагранжа РНх) для отрезка [0, 25] на равномерных сеточных множествах.

Рис. 4.5. Графики интерполяционных полиномов Эрмита и Лагранжа

Сплайн способ аппроксимации функции, заданной таблично, с помощью

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

EIu,v = q(x),

где Е - модуль упругости, I - момент инерции поперечного сечения, и - функция прогиба. q(x) распределенная нагрузка. В случае отсутствия нагрузки получаем однородное уравнение

u,v =0,

имеющее решение, представляемое кубическим полиномом, и = С„ + С,х + С,х: + С3х3.

С,- постоянные интегрирования, определяемые из граничных условий. Иными словами, гибкая линейка, помещенная на плоскости, плавно (то есть без изломов) изогнется так. что ее форму между любыми двумя соседними точками можно описать кубической параболой. Поэтому традиционно под сплайном понимают интерполяцию табличной функции с помощью отрезков кубического полинома.

Построение кубического сплайна

Пусть на отрезке [а,Ь] задана сетка а = х() <х, < ...< х п = Ь; известны табличные значения функции f(xk), к = 0,п в узлах этой сетки.

Потребуем, чтобы сплайн S(x) удовлетворял следующим условиям:

а) на каждом сегменте [хк_,,хк ], к = 1,п являлся полиномом третьей степени;

б) был непрерывен вместе с первой S'(x) и второй S"(x) производными на [а,Ь];

в) совпадал со значениями аппроксимируемой функции в узлах сетки.

1spline (англ.) - гибкая линейка.

Сплайн S(x) на каждом сегменте [хк_,,хк]отрезка [a,b] строится в виде

Sk(x) = ak +bt (x -x t )+ ^ -(x -x k)2+ ^ ( x - x k)3, k = l,n

(4.8)

Первые и вторые производные:

Sk(x) = Ьк + ск(х -х к) + ^ - ( х - х к)2

Sk (x) = ck +dk(x -x k),

двух ‘ соседних” сплайнов Sk(x) и Sk+i(x) в общей точке должны удовлетворять условию б), откуда получаем систему уравнений (условия непрерывности сплайна и его производных):

Sk(xk)~Si ,(xk).ak - a k4 + bl.,(xt - x t.,)

i2+^ ( x k - x k.,)!,k =

S^(xk) = SU,(xk). bk = bk+, +ck+1|

+ !W (xk - x ktl)2,

(*к -*ы )

2

 

1 I c II

Sk(xk) = S^,(xk),

ck =cktl+dk+1(xk - x k+l)>

k = l,n - l.

И. наконец, условия в) дают выражения:

 

Sk(xk) = ak = f(xk), k = l,n.

 

Обозначим hk+1=xk+I- x k

длины отрезков. Теперь

предыдущие выражения

можно записать в виде системы алгебраических уравнений относительно неизвестных

коэффициентов ak.b k.ck,d k,

k = l,n:

 

 

 

ak= ak+l- ^L+l^k+l +~y“^k+l

^^k+l * к = 1,П-1,

(4.9)

 

bk = bkt| - c w hk+1 + - y Lht.f,2,

k = l,n - l,

(4.10)

 

ck = cu i - ^t+ibk.|,

к = l,n - 1,

(4.11)

 

 

at = f(xk),

к = l,n .

 

(4.12)

Система (4.9)

(4.12)

содержит ( 4п - 3)

уравнения с (4п)

неизвестными,

Учтем дополнительно, что для точки х„ = а имеет место соотношение

 

S,(xo)-a,+b,(x0

2 (xo Xfc) +"^"(xo *k) ^ o ) •

Используя соотношения (4.12), в последнем выражении и уравнениях (4.9) можно исключить “лишние” неизвестные ак. к = 1,п, а сами уравнения записать в форме

fk =

- b k+1hk+, + ^ h

k+l2 - ^ - h k+l3, k = 0 ^ > .

(4.13)

В результате система (Зп-2) уравнений (4.10), (4.11) и (4.13) содержит Зп

неизвестных bk,ck,d k,

к = 1,п.

 

 

Для “замыкания” этой системы уравнений положим

 

 

00

и о

(4.14)

 

S"(b) = 0,

(4.15)

что соответствует “нулевым” кривизнам в начальной и конечной точках, то есть “свободным" концам сплайна. Возможны и иные условия для замыкания системы уравнений, например, указание значения производной (наклона касательной) в конечной или начальной точках, и некоторые другие.

Условие (4.14) с помощью выражения (4.8) удобно представить в форме

 

s iW

= ci - d ihi = °-

 

а формулу (4.15) - в виде

 

 

s;'(x„)=cn=о.

 

что позволяет переписать уравнения (4.11)

 

dkhk = ck -

k -l,n ; с0 = 0; сп = 0.

(4.16)

В итоге получена система (Зп+1) уравнений (4.10), (4.13), (4.16), содержащих

(Зп+1) неизвестную величину.

 

 

Рассмотрим два уравнения вида (4.13)

 

bt hk - ^ h k2+ ^ h k3 = fk - f k,

 

bk+1hk+1 - “~ h

k+)2 + “~ " h t+13 = fk+1 —fk.

 

 

 

b

= Ls—! k i+ £k.h

k

- i - h j 1,

 

 

 

 

 

 

k

hv

2

 

6

k

 

 

 

 

 

b

_

f>H

. CH.I (.

d t .l

h

2

 

 

 

Dk*i “ .

+

,

 

n k*l

,

n k*l

 

 

 

 

 

hk4

 

2

 

 

6

 

 

 

Подставим полученные выражения для

 

bk, bk+1 в уравнения (4.10):

ck^!^k>i

!^*hk+,

= Ьк+, - Ьк =

 

 

 

 

 

 

 

 

_ f(»t.i)-f(xt )

,с М11

dtt, h

 

!

f(xt )-f(x t.,) ct h

| dt

 

 

 

 

 

 

 

 

 

hk

- ^ - h k+ ^ h t!.

 

 

 

 

 

 

 

 

 

2 1

6 k

<,A ., « A -

\ ^ K

: - i d A 1 ■

 

 

 

 

 

 

 

к = 1,n —1.

Формулы (4.16) позволяют получить выражения

 

 

 

 

dkhk =(ск - c k_,)hk,

dk+Ihk+, =(cw - c k)hk+l,

 

благодаря чему предыдущая формула преобразуется к виду

 

 

Ck*|hk*l +Ck^k ~у(Сь.|~Ck)^k+l “ j(Ck“Ck-l)^k =

 

 

j f(xM)- f(x t )

f(xt )- f(x t_,)j

 

R = —

 

 

v

 

hk+1

 

 

 

hk

J

 

 

 

Приводя подобные слагаемые и учитывая условия (4.14) и (4.15), получаем

 

ck-,hk+2ck(hk+ hkJ + c k+1hk4l =

 

 

 

 

/

f(Xk- ') - f(xk)

f(xk)-f(x k- ,) \

 

k = ] ^ n

(4.17)

 

ч

 

hk<.,

 

 

 

hk

/

 

 

 

 

 

 

 

 

 

 

 

cn =0,

c = 0.

 

 

 

 

 

 

 

 

В итоге всех преобразований получена система линейных алгебраических уравнений с трехдиагональной матрицей коэффициентов. После определения всех

неизвестных величин ск. к = 0,п определяются остальные коэффициенты сплайнов:

hk

ak = fk,

bt = ^ h k - ^ +l ^ . k = U .

2

6

n k

Покажем, что при неограниченном увеличении числа п узлов на отрезке [а,Ь] последовательность сплайн-функций сходится к интерполируемой функции.

Для упрощения рассмотрим последовательность сеток с равномерными расположениями узлов:

п

В этом случае система уравнений (4.17) принимает более простой вид

с0 =0, сп = 0.

Пусть аппроксимируемая функция f(x) непрерывна вместе со своими производными вплоть до четвертого порядка, то есть f eC (4)[a,b], а также имеют

место равенства

 

 

f "(а) = 0, f"(b) = 0 .

Обозначим:

 

 

чебышевская норма на отрезке [а,Ь];

H L = ^ ч > (хк)1

- чебышевская норма на сеточной области Qn;

f„.k = ^ ( f ( * k,) - 2 f(x k) + f(xk„))

- разностный аналог второй производной

 

аппроксимируемой функции f(x);

Теперь система уравнений (4.17) выглядит следующим образом:

ck_, +4ск +ck+1 = 6fxxk, к = 1,п-1,

(4.18)

1со = 0, сп = 0.

Лемма 4.1. Для всех f(x) eC (4)[a,b] справедлива оценка ||f" -S "]^ < ^ M 4h2.

Доказательство. В силу определения введенной нормы на сеточной области необходимо проверить точки хк, для которых S"(xk) = ck.

Обозначим погрешность

 

 

Zk=ct - f " W . k = Q,n.

 

Для к - 0

и к = п. в частности. z0 = zn = 0.

 

Уравнения (4.18) в новых обозначениях принимают вид

 

к

и +4zt + zk„ = 6f„k -(f"(xk.,) +4f"(xk) + f"(xk„)),

k = l,n -l,

{

 

 

(4.19)

U- =

z„=°-

 

Обозначим

 

 

 

 

Vi = 6f„k -(f"(xk-l)+4f"(xk) + f"(xk.,))=

(4.20)

=6{f,..k-f"(xk))-(f"(xk ,)+4f"(xt ) + f"(xk„))+6f"(xk) =

=^ . k - к х к))-(Г '(хк„,)-2Г(хк) + Г (хки)) = ^ к

причем

f"(xk ,)-2f"(x„) + f"(xkt|)

 

h!

 

 

разностный аналог второй производной функции f"(x) в точке xv

Воспользуемся формулами Тейлора:

 

 

f k . I) = f(xk)+hf'(xk) + y f"(x ^ ) + y f'" ( x k) + ^ f ; f t ) ,

^ е (х к,хы ),

f(xk.,) = f(xk) - hf'(xk) + y r ( x k) - k f "'(xl ) + L f " ( ;) >

Qб (хк.,,хк).

Аналогичным образом построим разложение для функции f "(х):

^2

л б(хк,хк>1) .

f"k.i)= f"(xk)+hf'"(xk) + y f k"(T)),

r ( xk-,)=f''(xk)-l4'"'(xk) + y f " ( S ) > 9 б(хк.„хк).

Теперь можно оценить разностные аппроксимации производных:

r„k =

h!r(x t) + ^ f r ( ^ ) + ^ f ;v(c))= f"M + ^[fr(< 0+ fr(c)].

 

(f" U = Л [ ^ С ( п ) +^ГГ(9)] = ^ ( л И Г ( э ) ) .

 

h2{

2 “ '

2 ‘ ' ')

2

Подставим полученные выражения в формулы (4.20):

IV11= |6(f„.k - f "(*а)) - (f")„ . hJ | < 6|Г_, - f~(*t )|+Kf ")ttk hJ| <

 

4 hi f‘v^

+7 hi f"

^ 4 hi f" N +7 hi f"(»)i-

Отсюда получаем

 

 

 

Mu. =

^ [™ x|f7 (!;)| + max|f;v (C)| + 2max|fk" (o)| + 2m^x|fk'v(9)(]=

Теперь, согласно формулам (4.19), получаем

 

4zt = ЧЧ - zk+, - zk_,,

 

4|zk| < |44|+|zt .,f+ K -,|s max|V t| + max|2 k.J + max|zk.,| =

+ Щ ^

Поскольку эта оценка имеет место во всех точках сеточной области Пп, то она справедлива и в точке, где |zk| достигает максимума, то есть

Следовательно.

4IN o.s H L . + + I L -

Н и. s jll'i'llu. ^ M 4hJ,

откуда сразу следует утверждение леммы 4.1.

Теперь можно преобразовать второе слагаемое в правой части формулы (4.24):

a (f'(x )- f"(xk)) + (l -a )(f'(x ) -f" (x k.,)) =

= a [( x - x k)f"'(x) -

f lv(ijk )1+(1 - a)[(x - xк_,)f '"(x) -

f ,v t )

L

J

L

=f'"(x)[a(x - xk)+(I - aXx - xk_,)]- ^[a(x - xk):f1 ( l k)+(l - a)(x - xk.,)' Г (£k)] =

=f" '( x )[( l- a ) a h - (l- a )a h ] - ^ a h :( l - a ) Jf'v(^k) + ( l - a ) a !h:f"(Ck)j =

= ~ “a h !(l -<x)[(l - a ) f ,v(^k)+ a flv(Ct )].

Произведем оценку:

|a(f'(x)- f"(*L))+(1 - “Xf'(x)“fk"■}-

i i a h ’(!-a )[(l-a )|f ,v(^k) |+ a |r (Ck)|] S

2 i ah2C- a ( o - “ )<£“ / "

-

< —- a lr ( l - a ) < —- h “

2

v

' 8

При выводе последнего соотношения учтено, что

Г (xJ s ЗД1Г И =м" а(|' а)4 -

Теперь можно оценить левую часть тождества (4.24):

H x ) - S L f ( x ) | , ^ i + M l!L = Z ^ i , M 4h^. V xe[xk.,.x t ].

(4.25)

Учитывая, что выражение (4.25) справедливо для любого отрезка, его можно использовать и для оценки погрешности |f"(x)-S"(x)| на всем участке [а,Ь]:

|f"(x)-S"(x)|< M 4h2

Отсюда получаем

 

 

 

 

 

 

 

Hf" - s"f(..b] =^

" М

- S"(*)| 5 M<hJ.

 

то есть утверждение (4.23) теоремы.

 

 

 

 

 

Для

доказательства

соотношения

(4.22)

введем

отрезке

[xk_,.xk] вспомогательную функцию r(x) = f(x)-Sk(x). В силу определения

сплайна,

r(xv_.) = r(xk) = 0. Но тогда, в соответствии с теоремой

Ролля1. существует хотя бы

одна точка с e[xk_,.xk], г'(£) = 0.

 

 

 

 

 

В этом случае, используя теорему Лагранжа, можно произвести оценку

 

 

|г'(х)| = |г'(х) - Г'ф| = |г"(дХх - ф

|Г"(С)| • h •

 

откуда, с учетом соотношения (4.25), получаем

 

 

 

 

 

|f'(x)- s ; (х)| S |f"(C)- S"(C)| h < м

у

 

Поскольку это неравенство справедливо на любом отрезке [xk_,.xk],

помощью можно получить получить утверждение (4.22) теоремы:

 

 

lr - s V

^

’(x)' slW |£ M J,‘

 

Для

получения последнего

утверждения

(4.21)

построим на отрезке

[ \ .xk ]

функцию

 

 

 

 

 

 

 

 

g(t) = r(t) - s k(i)-K (t

.4_,Xl - xi)-

 

Из условия обращения этой функции в нуль для произвольно выбранного

значения

xe[xk4,xk]

 

 

 

 

 

 

Ролль Мишель (21.4.1652 - Х.11.Г19] - франт

С 1685 года является членом

Парижской академии наук.

 

 

 

Теорема Ро.лли. (10):

функция Г(\) непрерывна

интерва-

(a.hj.

Д1н|»фсре1Щир\ема о всех его внугрешшч точках и irieei на компах интервала равные значения, ю существует хотя бы одна точка : е[а.Ь]. Г(:) = 11

g(x)= f(x)- skW- K (x-xk.,X x -xk) = °

определим значение константы

K f(x)~Sk(x) (x - x k.,)(x -x k) '

Очевидно, что теперь

g(x) = g(xk) = g(xk.,) = 0.

Это означает, что существует хотя бы одна точка 4 e[xk_|,xk], g"(4) = 0. Отсюда получаем

g"(4) = f"(4)-SL'(4)-2K = o,

f(x) - Sk(x) = ^[f"(4) - Sk(4)](x - xk.,Xx - xk) .

Отсюда, с использованием неравенства (4.25), следует оценка отклонения значения сплайн-аппроксимации от значения функции для выбранной точки х =[xk_,.xk]:

|f(x)-Sk(x)| = i|f"(4)-S'i'(4)|.|(x -xt_,)(x-xk)| <

Здесь учтено, что

max 1(х- Xк-1

Поскольку последнее неравенство справедливо для любого x e[x k_,,xk], получим выражение (4.21) теоремы:

что и требовалось доказать.

с- вектор коэффициентов {с0, с,, . . сп }т ;

?- вектор {f„,f,......f„}T, fk =(f,<pk)H, k = 0,n.

Скалярное произведение векторов определим обычным образом:

 

 

 

 

 

(U>V) = Z Ut Vk’

U>V eR "+'

 

 

 

 

 

 

k«0

 

 

 

Теперь выражение (4.27) можно представить следующим образом:

 

 

 

 

 

||f-<p^i=(Ac,c)-2(f,c) + ||f|^.

 

(4.28)

Очевидно, что поиск элемента ф е Н наилучшего приближения сводится теперь к

поиску минимума функционала,

 

 

 

 

 

 

 

F(c) = (Ac,c)-2(f,c),

 

(4.29)

поскольку слагаемое |f|^

в выражении (4.28) от параметров ск, к = 0,п не зависит.

Исследуем свойства

матрицы А. Поскольку акР = (фк’Фр)н = (фр’Фк)н = арк* то

очевидно, что матрица А симметрична.

 

 

 

Если положить

f = 0, то из соотношения (4.28) можно получить

 

 

 

 

 

(Ас,с) = ||ф|||1>0

VcGRn+1.

 

 

Если для какого-либо

c 'e R ^ 1 имеет

место равенство (Ас',с') = 0,

то в силу

||ф|||1 = 0 получаем,

что

ф = с„ф0 +с[ф,+...+с„фп =0, и

из условия

линейной

независимости фк сН,

к = 0,п следует

=0, с[ =0,

сп = ®- ^ о это означает,

что (Ас,с) >0 Vc * 0. то есть матрица А является положительно определенной.

Теорема 4.4.

Если А - симметричная положительно определенная матрица, f

заданный вектор, то функционал (4.29) имеет единственную точку минимума с тогда и только тогда, когда вектор с удовлетворяет системе линейных алгебраических уравнений

Ас =■f

(4.30)

Доказательство. В силу положительной определенности патрица А имеет

определитель, отличный от нудя, то есть система уравнений (4.30) разрешима и имеет

единственное решение.

Достаточность теоремы. Пусть с является решением системы уравнений (4.30). Для произвольного вектора v, согласно определению (4.29), имеет место:

F(c + v) = (А(с + v), с + v)- 2(f, с + vj =

= (А с, с) + (Ac, v) + (Av, с) +(Av,V) - 2(f,с) - 2^f,v j.

Учитывая симметрию матрицы А и вид функционала (4.29), запишем F(c + v) = (Ас, с) + 2(Ас,v) + (Av, v) - 2|f, с) - 2^f,v) =

= (Ac, c) + 2|(Ac. v) - |f,vjj +(Av, v) - 2(f, cj =

= (Av. v) + 2(Ac - f.vj+1(Ac. c) - 2|f.cJj = (Av, v) + 2|A^ - f,vj + F(c).

Принимая во внимание выражение (4.30), окончательно получаем F(c + v) = (Av, v) + F(c).

С учетом положительной определенности матрицы А последнее выражение приводит к неравенству F(c+v)>F(c) V V G R ,,+I но это и означает минимальное и. функционала (4.29) в точке с .

Необходимость. Пусть теперь вектор с доставляет минимум функционалу (4.29) Воспользуемся полученным выше равенством

F(c + v) = (Av,v) +2|Ас - f, vj + F(c).

Положим v = Xu. u eR n+l- произвольный вектор, X - скаляр: тогда

F(c + Xu) = X!(Au.u) + 2x(Ac - f.u) + F(c).

Полученное выражение теперь можно рассматривать как скалярную функцию

g(X) = X2(AU.U)+ 2Х(Ас - f.u) + F(c)

аргумента X.

В силу допущения о минимальности функционала (4.29) имеем F(c + Xu) > F (c), то есть g(X) > g(0) VX. Это, в свою очередь, означает, что Х=0 доставляет минимум функции g(X), откуда следует

g'(0) = ^2Х (Au,U) + 2^Ас - f,u jj^ = 2^Ас -f,u j = 0.

Поскольку последнее равенство справедливо Vu e R 1*1, получаем A c - f = 0, что и

требовалось доказать.

В компонентной записи система линейных алгебраических уравнений выглядит

следующим образом:

 

 

 

 

Z^(<Pk.<Pp)H =(f.<PP)H.

р = °.п-

(4-31>

1=0

 

 

 

 

Алгоритм определения элемента наилучшего приближения:

 

 

 

 

ь

__

- вычисление коэффициентов матрииы:акр = (ф к,Фр)

= |ф к(х)фр(х)<1х, к,р = 0,-п;

 

 

 

 

 

 

 

ь

__

- вычисление значений правых частей: fp = (Лфр)

= Jf(x)<pp(x)dx,

р = 0,п;

 

 

 

а

 

- решение системы уравнений (4.31);

 

 

 

 

п

 

 

 

 

- построение ф = c ^ k

 

 

 

 

к=0

 

 

 

 

В случае ортонормированности

системы

фк, к = 0,п построение приближения

Ф = 2^кФк значительно упрощается,

поскольку в этом случае

акр =(фк,фр)н = 6 кр и

коомпоненты вектора ск определяются сразу:

|>

= (f,4>k)H =Jf(x)(pt (x)dx, к = ( й .

В практических исследования часто возникает ситуация, когда необходимо

аппроксимировать

табличные значения fk = Г(хк), к = 0,п с

помощью приближения

Ф(х), содержащего

определяемые коэффициенты ск, к = 0,ш в

количестве, меньшем чем

число узловых точек, m < п. По этой причине, в отличие

от рассмотренных ранее

способов аппроксимации функции полиномами Ньютона, Лагранжа, сплайнами,

не

используется условие f(xk) = cp(xk), k = 0,n

равенство значений функции f(x)

и ее

приближения ф(х) для заданного числа значений аргумента. Так, в рассматриваемом методе наименьших квадратов, “близость” аппроксимирующего многочлена к самой функции оценивается с помощью какой-либо нормы, то есть “в среднем” для всего отрезка, на котором строится аппроксимация. Для получения алгоритма построения приближения воспользуемся полученными соотношениями (4.26) - (4.31).

Пусть известен набор значений fk =f(xk), k = 0,n функции для ряда значений ее

аргумента. Для рассматриваемого случая положим Н = Rn+I. В линейном пространстве размерности (п+1) скалярное произведение и норма определяются известным образом:

■I

(u-v) = Z ukvk> u .v e R n+\ к=П

Пусть отыскиваемое приближение ср(х;с„,с,, ...,ст ) зависит от известного числа m параметров с0,ср ...,

Степень отклонения функции f(x) от ее приближения ср(х) определяется соотношением

Г - фГ Ч И 2-2 (г,ф)+МГ =

(4.32)

= E fk - 2 2 fkv(xt;c0,c......

, с« )+ Х ф’(х1; сс......

с.).

к=о

к=о

к=0

 

Для определения наименьшего отклонения воспользуемся необходимыми условиями минимума функции нескольких переменных:

# 1 М

Г = - 2 £ г кФ .(* 0 + 2 2

ф.(*к) £ срфр(*к)

 

4=0

к=0

р=0

^ - |f - 4 > r = - 2 Z f k< P iW + 2 2

ф|(хк) £ срфр(*к) = 0,

W 'l

к=0

 

р=0

OCfn

к=0

к=0

Фт(Хк) £ СрФр(Хк) = 0.

р=0

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

коэффициентов разложения ср, р = 0,ш:

п п п п

С»2Z Ч>о(Хк )ф»(хк) + Cl S Ф| (Хь )фо(*к) + - - - + С т £ ф т (хк)фо(хк)= 1 Х ф о (хк).

к=0

коU

к-0

к-0

п

п

п

п

•|С,.Хфр(хк)ф.(хк)+с.Г ф |( хк)ф.(хк) + -

+с".2фл.(хк)ф1(хк) = 2 гкф|(хк) ’

к*и

к»о

к-0

к-0

п

п

п

. п

со2ф»(Хк)фп.(хк) +С|Е ф |(Хк)фт(Хк) + -

+Ст 2 ф т ( хк)фт(Хк) = Х ,'кФт(Хк)-

I к=о

к-о

к-0

к-0

Пример приближения функции | х | на отрезке [-1, 1] с использованием метода

аименьших квадратов приведен на рис. 4.7.

Контрольные вопросы и задания

Сформулируйте задачу аппроксимации. Каковы условия разрешимости этой задачи9

Укажите требования к аппроксимирующим функциям. В каком случае интерполяция называется линейной?

Что представляют собой разделенные разности? Поясните их геометрический смысл.

Укажите порядок построение интерполяционного многочлена Ньютона. Что представляет собой схема Горнера?

Укажите порядок построение интерполяционного многочлена Лагранжа.

Покажите, что полиномы Ньютона и Лагранжа, построенные на одном множестве табличных значений функции, тождественны.

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

Укажите условия сходимости процесса интерполяции полиномами. Приведите примеры.

Обоснуйте преимущества метода интерполяции для решения нелинейного уравнения.

Опишите способ решение нелинейного уравнения с помощью обратной интерполяции.

Укажите порядок построение интерполяционного многочлена Эрмита.

Опишите идею сплайн-аппроксимации функции и порядок построения кубического сплайна.

Что понимается под сходимостью процесса интерполяции кубическими сплайнами? Сформулируйте и докажите лемму об оценке сходимости по "сеточной" норме.

Сформулируйте и докажите теорему о сходимости процесса интерполяции функции кубическими сплайнами.

Опишите порядок построения наилучшего приближения функции использованием теории гильбертовых пространств.

В чем заключается метод наименьших квадратов для аппроксимации функции, заданной таблично?

5. АЛГЕБРАИЧЕСКАЯ ПРОБЛЕМА СОБСТВЕННЫХ

ЗНАЧЕНИЙ

Пусть А - квадратная матрица размером п х п ; если существуют такие векторы

X e R n, X * 0, что

 

 

 

АХ = XX,

 

 

(5.1)

то X называется собственным значением, а

X - собственным вектором матрицы А,

соответствующим этому собственному значению.

 

 

В иной записи,

 

 

 

АХ - XX = (А - ХЕ)Х = О,

Х * 0 .

(5.2)

Очевидно, что система линейных однородных алгебраических уравнений (5.2)

имеет нетривиальное решение лишь в случае

 

 

 

aii“ k

а12

 

а .„

a2i

а22

^

а2п

det(A - ХЕ) = det

 

 

 

. аш

а02

 

апп

Понятно, что характеристический многочлен det(A-XE) является полиномом степени п от переменной X Это, в свою очередь, означает, что существует п корней характеристического многочлена, и, следовательно, имеется п собственных значений

Хк и соответствующих им собственных векторов

Хк, к = 1,п для матрицы А.

Пример 5.1. Пусть задана матрица

 

 

 

1

2

 

 

А =

4

 

5

Требуется определить собственные значения и векторы этой матрицы.

Характеристический многочлен

 

 

1-Х

2

 

 

det[A-XE] =

= (1-Х Х 4-Х )-10=Х 2-5 Х -6 .

5

4 -Х

 

 

i6X,, j(X-.V]( =K(5A)X‘.Y>)|^K6A)Xj.|Y*|S|SA|-|X*|.jY*|.

Отсюда следует оценка

N * м - м - м =С. Ц8А|. |(Х‘,Y‘)j

Величина

С,= И - И

|(Х' ,Y‘)|

 

называется коэффициентом перекоса-, <р{- угол между векторами X', Y'

Далее будем предполагать, что матрица А симметрична1, то есть А = Ат , и все ее собственные числа различны. В этом случае собственные векторы матрицы А образуют в Rn полную ортонормированную систему, которую можно использовать в качестве базиса. Очевидно, что для симметричных матриц X' = Y ', а значит, имеет место устойчивость собственных значений:

Н Ф М -

Для оценки устойчивости собственных векторов теперь рассмотрим случай i * j . В силу формулы (5.3) следует

(А(6Х'),Y1)=(бХ' ,ATY’) =(бХ1AjYJ) = Х,(бХ',У').

Используя это выражение и условие ортогональности векторов

(x\Y j) =0, i* j.

из соотношения (5.4) получаем

((6А)Х‘,Y') = Х,(бХ',Y’) - Х,(бХ‘,Y*).

((5A)X‘,Y')

(6X‘,Yj) =

Х.-Х,

1В этом случае, согласно [7], все собственные числа матрицы А вещественны.

0.7071067811

0.707106781)'

Y, _ _ l _ i -5 j _ 10.9284766911 _ V29 | 2J ” 10.371390676) '

Перемножим скалярно собственные векторы обеих матриц:

<х ' -''■)■ ^ Ц } 4

= -•0 = 0,

2

то есть имеет место ортогональность собственных векторов матриц А и Ат :

(Х’’ Y') = ^ 9

(2,5> f

{!} = Ш

= °'9' 914503 •

(Х2. У >

^ {

- и

) - ^ {

" ' } 4

^ = 0.919,4503.

Подсчитаем коэффициенты перекоса:

 

 

 

 

С, = м

- и .

11

 

2

29

 

7 J

T

= - . — = 1.087967587,

Кх ' .Y')l

- 7 U

 

 

 

 

 

2 V29

 

 

 

 

|х:1МИ

11

 

2

29

 

С. =

 

 

 

 

= - . — = 1.087967587.

Кхг.У!Г - 7 - Д

" 7 » 2

 

 

 

 

2 V29

 

 

 

 

Пример 5.3. Оценить влияние погрешности на результаты вычисления

собственных значений матрицы

 

 

 

 

 

 

 

 

 

 

 

1

1

о

о

 

 

 

А =

0

2

1

0

 

 

 

0

0

3

1

 

 

 

 

 

 

 

 

 

 

Б

0

0

4

 

где е - малое возмущение (погрешность).

Решение характеристического уравнения

det(A - ХЕ) = (1 - ХХ2ХХЗ- ХХ4 - X) - е = 0.

дает корни (собственные значения):

X, = 2.5 ^5 14л/Г+е

Х2 =15

V5- 4л/Г+Ё

X, =Z5 + V5 + 4Vl+T

В табл. 5.1 приведены собственные значения исходной матрицы при различных

величинах е.

Таблица 5.1

Определение собственных значений матрицы при заданных величинах погрешности

Собственные значения

со II о

о II со

Б = 0 ,01

б = 0 .0 0 1

X,

1.0

0,983817673

0.9983384

0.999833384

х 2

2,0

2,051456633

2.005012689

2.00050(1125

Хз

3,0

2,948543367

2,994987311

2.999499875

Х4

4,0

4,016182327

4,0016616

4,000166616

Определение собственных значений и векторов

Метод интерполяции

Пусть задана матрица А размером п хп . Очевидно, что характеристический многочлен в этом случае имеет порядок п (полином степени п). и задача заключается в определении корней этого полинома.

Алгоритм вычисления собственных значений матрицы А следующий:

1.Строится функция f(X) = det(A - XE):

-на числовой оси выбирается (п+1) значений Хк, к = 0,п;

подсчитываются значения функции f(Xk), k = 0,n, например, с помощью

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

- по найденным значениям fk, k = 0,n строится интерполяционный полином Рп(х) Ньютона (Лагранжа); ранее отмечалось, что для рассматриваемого случая многочлен степени п определяется единственным образом; в силу этого построенный полином как

раз и будет характеристическим.

2. Каким-либо из известных методов решения нелинейных уравнений

отыскиваются корни построенного полинома Рп(х), которые представляют собой собственные значения исходной матрицы.

Трехдиагональные матрицы

В практике инженерных расчетов часто встречаются трехдиагональные матрицы, у которых отличны от нуля лишь коэффициенты, расположенные на главной диагонали,

а также над и под нею. Пусть такая матрица имеет вид

а п

а 12

0

0

0

0

 

 

 

 

а 21

а 22

а 23

0

0

0

 

 

 

0

а 32

а зз

0

0

0

 

 

 

 

0

0

0

а п-2п-2

а п-2п-1

0

0

0

0

а п-1п-2

а п-1п-1

а п-1п

0

0

0

0

а пп-1

а ПП

Для определения собственных значений требуется подсчитать определитель

матрицы:

 

 

 

 

 

а,,-Х

а12

 

0

0

0

а2!

а22- ^

 

0

0

0

О

а32

 

0

0

0

А -ХЕ =

 

 

 

 

 

О

О

О

-2п-2 ” ^

а п-2п-1

0

О

О

О

1п-1п-2

а п-1п-1 “ *

а п-1п

О

О

О

0

®пп-1

а п п - ;

^2 ~ ( a 22 —X)D|(X) —a2lal2D0(X) —(a,, -X)(a22 - X ) - a 2laI2,

итак далее.

Поиск собственных векторов

При численных расчетах, как правило, отыскиваются лишь приближенные величины собственных значений Хк, к = 1,п. В этом случае

det(A-XkE)*0

и система уравнений

 

(а - хье)х 1 =0

 

позволяет отыскать лишь тривиальное решение Хк = 0. к = 1,п.

 

Пусть F eR n - произвольный вектор. Рассмотрим систему уравнений

 

(A -X jEjz1'4 = F .

(5.5)

Пусть Х \ j = l,n - собственные линейно-независимые векторы, соответствующие различным собственным значениям1; эти векторы в Rn можно взять в качестве базиса.

Разложим векторы Z(0), F по этому базису:

Zm = X1. F = £ P jX J

иJ=>

Подставим эти выражения в систему уравнений (5.5):

(а -Х ,е) Х < 'Х '- Х Р )Х1=0.

4

‘ 3-1

г г

t [ < i A -

- PJX’] = t[< '(A X > - Х,Х‘) - Р,Х>] =

Coiaacno [7], собственные векторы, соответствующие попарно различным собственным

(качениям, лин Тшо независимы.

-3L.X»)-piX *]= i;[«‘0'(x J - X .) - P fJx^ =0.

В силу линейной независимости векторов Х \ j = I.n получаем

 

 

 

 

 

< ' =г т г

j= r " '

При условии,

что

Xj *

,

коэффициент

а (,0> становится большим.

а <0) »

а (к°‘. к * i , вследствие чего

 

 

 

 

 

 

Zm = 2 > 5 WxJ* a !0,xi.

 

 

 

 

 

j=i

 

 

то есть

вектор Z ({))

будет

близок

по

направлению

к собственному вектору X1

Повторим решение системы уравнений (5.5) с новой правой частью:

(A - X ^ Z '1' = Z m

Вновь представим решение в виде разложения

z (,) = £ a j )xj j=i

и повторим предыдущие рассуждения, что приведет к выражению

Очевидно, что поскольку величина а |‘м значительно преобладает над остальными

коэффициентами a','". j * i . новый коэффициент а -0 будет еще больше, чем

а '"

есть вектор Z lu будет еще ближе по направлению к собственному вектору X'

Иными

словами возможно построение итерационного процесса вида

 

(A -X ,E)z,k" =Z lk\

(5.6)

причем Z"” - произвольный начальный вектор.

Следует отметить, что если собственное значение вычислено достаточно точно, то

det^A- Xjе ) «0, что может привести к аварийной остановке вычислительного процесса.

В этом случае для повышения устойчивости расчетов в матрицу А-Х,Е вносится некоторая погрешность, например, за счет искажения собственного значения X,.

Пример 5.4. Определить собственные векторы для матрицы А = 1

^ .

[_5

4

При выполнении примера 5.1 получены собственные значения X, = 6, Х2 = -1. Для определения собственных векторов, соответствующих первому собственному значению,

зададим погрешностье: X, =Х ,+ б = 6+б .

 

 

Система уравнений (5.6) для первого вектора

принимает вид

 

-(5 + е)х;+2Х ; = 1,

 

5Х| -(2 + e)Xj = 1.

Это система уравнений имеет следующее решение:

У 1

4 +е

у 1 _

ю+е

1

е(7 + е)’

2

б(7+б)

Для погрешности е=0,001 получаем

 

 

X1, = -571,4897872,

= -1428,510213,

 

||х'|= 1538,584416.

После нормирования компоненты собственного вектора единичной длины

X; = -0,371438695,

Xj = -0,928457482.

Первый собственный вектор, определенный ранее для этой же матрицы.

X'

1

[2

0,3713906761

>/29 [5

0.928476691] ’

 

Выполним такую же процедуру для второго собственного значения:

Х2= Х2+ б = е - 1;

(2-e)Xj +2X5 = 1, |5Х?+(5- б)х ; =1;

ф -д -) ^ 5 !2 П * р .« , . с .

j-» "XJ

|х ‘к)Г +1 ® - А Х « > » = 0 ,

»Ж ,

где AXf> = \ f * ' ) - X f >.

Учитывая конкретный вид уравнений (5.7) и (5.8), получаем

£ ааАХ5к)-ДХ(к> Х<к)-Х(к, ДХ1к>= ^ а йХ«к»-Х,1)х:к). i= U:

j»l

j-l

(5.9)

2 £ х < к>ДХ<к> = 1 -£ (х < к') 2

к-1 pl

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

Пример 5.5. Определить методом линеаризации собственные векторы матрицы

А = Г' 21.

L5 4

Согласно формулам (5.9) получаем итерационную процедуру для вычисления собственных значений и векторов:

1 • AX',"’ +2- AXjk| - Х',к| • AX’11 - X'kl • AX|kl = XIU • X',11 -1 • X',k' -2- X.k':

• 5-AX',kl +4 AXjkl -X jkl • AX<kl -X,kl ■AX';kl = X,k’ X',k' -S-X ,1’ -4 -X .1':

2XlklAX‘,k’ + 2X;k,AX;kl = 1—(xjk’)" *(X.1,)!:

 

(l - X kl). AXikl +2-AX1,1’ - X |kl • AXlkl = X'1' • XJk!

X;k -2 X.1’;

■5 AXl,k’+(4-X(kl) AXlkl- X l k' AXk’ = X<k’ X';k' - 5 . X|k’- 4 - X'.k'

2XjklAX',kl +2X;k'AX;kl = 1-(X',l '): -(X'.k,):

На каждом этапе расчетов очередное приближение решения определяется по

формулам

 

X

j t -И) = х |к) +дх[к\ х (2к+|) =х^к) +дх(2к), х<к+|) = х<к) +дх(к).

 

Результаты расчетов сведены в табл. 5.2.

 

 

 

 

 

 

 

 

Таблица 5.2

 

 

Расчет собственного значения и вектора методом линеаризации

 

 

Номер

xjkl

x<k>

X

 

 

итерации

 

 

1,0

1,0

 

 

0

 

1,0

 

 

 

1

 

-0,375

 

1,875

4,75

 

 

2

 

0,45741931

1,082795321

6,26862705

 

 

3

 

0,376979184

0,946529203

6,038835844

 

 

4

 

0,371426686

0,928555837

6,000515885

 

 

5

 

0,371390677

0.928476699

6,000000051

 

 

6

 

0,371390676

0,928476691

6.000000000

 

Очевидно,

что

решение

сошлось

к найденным ранее

собственному вектору

.

1

(2]

[0,371390676]

_

Л ,

 

X

=—!=< > = <

>и собственному значению X, =6.

 

 

V29[5J

10,928476691]

 

 

 

Степенной метод

Степенной метод предназначен для определения наибольшего (по модулю) собственного значения.

Пусть все собственные числа упорядочены следующим образом:

|Х ||>|Х,|>...>|Х „|.

Рассмотрим итерационный процесс вида

Z(k+,) = A Z tk)

Разложим начальное приближение Z {{)) по базису из собственных векторов

Xj, j= 1,п матрицы А:

z(0) = XajXj

J=I

Тогда очевидно, что

j-l

j-1

rl

Z(2) = AZ(,) = £<х^А Х ^ = ^ a j(Xj)2Xj ;

 

>1

j-i

 

 

 

j-i

 

 

 

Для

достаточно

большого числа

итераций

получим, что |X,|k » |X j|k, j = 2,n.

Отсюда

следует, что

Z ^ a a ^ A .,) X1,

то

есть

построенная указанным

способом

последовательность векторов Z(0), Z(,\ Z(2),

сходится (с точностью до направления)

к вектору X1, соответствующему наибольшему собственному значению |Х,|.

 

Кроме того, учитывая, что имеет место зависимость

 

 

 

 

=X,|a,(Xl)kX,|«X.1Z(k)

(5.Ю)

получим итерационный процесс для вычисления наибольшего (по модулю) собственного значения:

Метод обратных итераций

Для нахождения наименьшего (по модулю) собственного значения матрицы А

можно воспользоваться тем, что матрица А '1 имеет собственные значения, обратные собственным значениям исходной матрицы.

Понятно, что в этом случае итерационный процесс

 

Z(k+,) = A”,Z(k)

(5.11)

приводит к определению модуля наибольшего собственного числа |Х| матрицы А"1 Соответственно, |А.| ' является наименьшим собственным числом матрицы А.

А"1= -i h 4

2 1

6|_ 5

-1

Согласно выражению (5.11) построим итерационную процедуру

z !k*"= ^ (-4г |к,+2г(,к'),

z«k*"= i(5z;k)-z'k)).

В качестве первого приближения вновь выберем вектор Z(0) = J. Результаты

расчетов сведены в таблицу 5.4.

 

 

 

 

Таблица 5.4

 

Вычисление наименьшего собственного значения

 

Номер

7 оо

z‘k>

И

X

итерации

 

1

 

0

1

1,414213562

 

1

-0,333333333

0,666666667

0,745355993

0,527046277

2

0,444444444

-0,388888889

0,590563656

0,792324287

3

-0,425925926

0,435185185

0,608932705

1.031104266

4

0,429012346

-0,427469136

0,605624847

0.994567777

5

-0,428497942

0,428755144

0,606169498

1.000899321

6

0,428583676

-0,428540809

0,606078537

0.999849941

7

-0,428569387

0,428576532

0,606093692

1,000025005

8

0,428571769

-0,428570578

0,606091166

1,000020837

9

-0,428571372

0,428571570

0,606091587

1,000000695

После нормирования получаем вектор

-0,7071066181

0,707106944 Г

Значения для собственного вектора

Х:

Л

-0,7071067811

0,707106781)

 

 

и собственного значения Х2 = -1 также определены ранее.

Контрольные вопросы и задания

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

Что понимается под устойчивостью собственных значений и собственных векторов?

Определите, что называется коэффициентом перекоса и поясните его геометрический смысл.

Опишите и обоснуйте метод интерполяции для определения собственных значений.

Обоснуйте алгоритм приближенного определения собственных векторов.

Какие особенности трехдиагональных матриц использует описанный алгоритм вычисления определителя?

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

Можно ли при использовании степенного метода определить знак максимального собственного значения?

Поясните идею определения минимального собственного значения с помощью “обратных итераций".