You are on page 1of 211

Metody numeryczne

w przykadach
Podrczniki Politechnika Lubelska

Politechnika Lubelska
Wydzia Elektrotechniki i Informatyki
ul. Nadbystrzycka 38A
20-618 Lublin
Beata Paczyk
Edyta ukasik
Jan Sikora
Teresa Guziak

Metody numeryczne
w przykadach

Politechnika Lubelska
Lublin 2012
Recenzent:
dr hab. Stanisaw Grzegrski, prof. Politechniki Lubelskiej

Redakcja i skad:
Beata Paczyk
Edyta ukasik

Publikacja wydana za zgod Rektora Politechniki Lubelskiej

Copyright by Politechnika Lubelska 2012

ISBN: 978-83-63569-14-3

Wydawca: Politechnika Lubelska


ul. Nadbystrzycka 38D, 20-618 Lublin
Realizacja: Biblioteka Politechniki Lubelskiej
Orodek ds. Wydawnictw i Biblioteki Cyfrowej
ul. Nadbystrzycka 36A, 20-618 Lublin
tel. (81) 538-46-59, email: wydawca@pollub.pl
www.biblioteka.pollub.pl
Druk: TOP Agencja Reklamowa Agnieszka uczak
www.agencjatop.pl
Elektroniczna wersja ksiki dostpna w Bibliotece Cyfrowej PL www.bc.pollub.pl
Nakad: 100 egz.
Spis treci

WSTP ............................................................................................................................. 8
1. BDY OBLICZE NUMERYCZNYCH ................................................................ 10
1.1. WSTP.................................................................................................................. 10
1.2. PODSTAWOWE POJCIA SZACOWANIA BDW .................................................... 10
1.2.1. rda bdw.............................................................................................. 10
1.2.2. Bdy wzgldne i bezwzgldne ................................................................... 11
1.2.3. Przenoszenie si bdw .............................................................................. 11
1.3. REPREZENTACJA STAOPOZYCYJNA I ZMIENNOPOZYCYJNA ................................. 13
1.4. BDY ZAOKRGLE OBLICZE ZMIENNOPOZYCYJNYCH .................................... 15
1.5. ALGORYTM NUMERYCZNIE STABILNY I POPRAWNY ............................................. 19
1.6. UWARUNKOWANIE ZADANIA OBLICZENIOWEGO .................................................. 21
2. PODSTAWY RACHUNKU MACIERZOWEGO ..................................................... 23
2.1.WSTP .................................................................................................................. 23
2.2. PODSTAWOWE POJCIA ALGEBRY LINIOWEJ ......................................................... 23
2.2.1. Macierze blokowe ....................................................................................... 27
2.2.2. Przestrzenie liniowe wektorowe .................................................................. 28
2.2.3. Wartoci wasne........................................................................................... 30
2.2.4. Normy wektorw i macierzy ....................................................................... 32
3. INTERPOLACJA I APROKSYMACJA .................................................................... 35
3.1. WSTP.................................................................................................................. 35
3.2. INTERPOLACJA WIELOMIANOWA .......................................................................... 36
3.2.1. Jednoznaczno rozwizania zagadnienia interpolacyjnego........................ 36
3.2.2. Wielomian interpolacyjny Lagrangea ........................................................ 38
3.2.3. Wzr interpolacyjny Newtona ..................................................................... 40
3.3. INTERPOLACJA TRYGONOMETRYCZNA ................................................................. 45
3.4. FUNKCJE SKLEJANE .............................................................................................. 50
3.4.1. Okrelenie funkcji sklejanych ..................................................................... 50
3.4.2. Interpolacyjne funkcje sklejane stopnia trzeciego ....................................... 51
3.5. APROKSYMACJA ................................................................................................... 58
3.5.1. Sformuowanie zagadnienia aproksymacji .................................................. 58
3.5.2. Aproksymacja redniokwadratowa .............................................................. 61
3.6. WIELOMIANY ORTOGONALNE .............................................................................. 72
3.7. ZADANIA DO SAMODZIELNEGO ROZWIZANIA ..................................................... 81
4. METODY ROZWIZYWANIA UKADW RWNA LINIOWYCH ............... 84
4.1. WSTP.................................................................................................................. 84
4.2. METODY SKOCZONE .......................................................................................... 84
6 Podstawy metod numerycznych
4.2.1. Eliminacja Gaussa ....................................................................................... 84
4.2.2. Eliminacja Gaussa-Jordana.......................................................................... 94
4.2.3. Rozkad LU ................................................................................................. 95
4.2.4. Rozkad Choleskiego ................................................................................... 99
4.2.5. Rozkad QR metod Householdera ........................................................... 101
4.2.6. Wyznaczanie macierzy odwrotnej ............................................................. 105
4.2.7. Obliczanie wyznacznika macierzy ............................................................ 106
4.3. METODY ITERACYJNE ........................................................................................ 107
4.3.1. Metoda Jacobiego ...................................................................................... 108
4.3.2. Metoda Gaussa-Seidela ............................................................................. 110
4.3.3. Metoda SOR (nadrelaksacji) ..................................................................... 111
4.3.4. Metoda Czebyszewa .................................................................................. 114
4.3.5. Metody gradientowe .................................................................................. 117
4.4. MACIERZE SPECJALNE ........................................................................................ 119
4.4.1. Reprezentacja macierzy w strukturach danych .......................................... 121
4.4.2. Metody dokadne dla ukadw z macierzami rzadkimi ............................. 123
4.4.3. Rozwizywanie ukadw rwna liniowych - wnioski ............................ 124
4.5. PRZYKADY OBLICZENIOWE .............................................................................. 125
4.6. METODA SVD ROZWIZYWANIA UKADW RWNA NADOKRELONYCH........ 139
4.7. ZADANIA DO SAMODZIELNEGO ROZWIZANIA ................................................... 142
5. ROZWIZYWANIE RWNA I UKADW RWNA NIELINIOWYCH .... 147
5.1. WSTP................................................................................................................ 147
5.2. METODA BISEKCJI .............................................................................................. 147
5.3. METODA REGULA FALSI ..................................................................................... 150
5.4. METODA SIECZNYCH .......................................................................................... 155
5.5. METODA NEWTONA-RAPHSONA ........................................................................ 156
5.6. UKADY RWNA NIELINIOWYCH ..................................................................... 164
5.7. ZADANIA DO SAMODZIELNEGO ROZWIZANIA ................................................... 167
6. CAKOWANIE NUMERYCZNE ........................................................................... 169
6.1. WSTP................................................................................................................ 169
6.2. KWADRATURY NEWTONA-COTESA .................................................................... 169
6.2.1. Wzr trapezw .......................................................................................... 170
6.2.2. Wzr Simpsona ......................................................................................... 172
6.3. KWADRATURY GAUSSA ..................................................................................... 175
6.3.1. Kwadratury Gaussa-Hermitea .................................................................. 179
6.3.2. Kwadratury Gaussa-Laguerrea ................................................................. 180
6.3.3. Kwadratury Gaussa-Czebyszewa .............................................................. 181
6.3.4. Kwadratury Gaussa-Legendrea ................................................................ 182
6.4. ZADANIA DO SAMODZIELNEGO ROZWIZANIA ................................................... 183
7. ROZWIZYWANIE RWNA I UKADW RWNA RNICZKOWYCH
ZWYCZAJNYCH ................................................................................................... 187
7.1. WSTP................................................................................................................ 187
7.2. METODA EULERA ............................................................................................... 193
7.3. METODY TYPU RUNGEGO-KUTTY ...................................................................... 195
Spis treci 7
7.4. METODY RNICOWE (WIELOKROKOWE) ........................................................... 202
7.5. METODA GEARA DLA UKADW SZTYWNYCH ................................................... 204
7.6. ZADANIA DO SAMODZIELNEGO ROZWIZANIA ................................................... 206
BIBLIOGRAFIA .......................................................................................................... 208
INDEKS ........................................................................................................................ 209
Wstp
Metody numeryczne s obecnie przedmiotem ujtym w standardach
ksztacenia studentw uczelni technicznych i przede wszystkim do nich
jest adresowany ten podrcznik. Znajomo metod numerycznych
umoliwia waciwe wykorzystanie gotowych pakietw obliczeniowych
(Matlab, Maple, Mathematica itp.), jak rwnie daje niezbdne podstawy
do samodzielnego rozwizywania specyficznych, coraz bardziej
zoonych problemw inynierskich. Wymaga to z jednej strony
wiadomoci istoty rozwizywanych zagadnie, z drugiej za znajomoci
metod sucych do ich rozwizywania.

Tre niniejszego podrcznika stanowi wybrane zagadnienia z teorii


i praktyki metod numerycznych. Teoretyczne podstawy bazuj na
pozycjach klasycznych [1, 4, 5, 8, 9, 10], ktre obejmuj znacznie wicej
materiau, ni mona przedstawi w trakcie trzydziestogodzinnego
wykadu. Niniejszy podrcznik zawiera tylko wyselekcjonowane
informacje, ktre s omawiane na wykadach. Autorzy ograniczyli si do
niezbdnych elementw teorii, bardziej koncentrujc si na przykadach,
dobranych w taki sposb, aby jak najprociej zobrazowa dziaanie
omawianej metody numerycznej. Niektre przykady oblicze zostay
dodatkowo przedstawione za pomoc tabel i rysunkw. Rozdziay 3-7
zawieraj odpowiednio opracowane zbiory zada. Samodzielne
rozwizanie tych zada pomoe Czytelnikowi w utrwaleniu
prezentowanego materiau a dziki zamieszczonym odpowiedziom
umoliwi ich weryfikacj.

Wikszo rozdziaw opracowano wykorzystujc materia


z podrcznika [2], z ktrego usunito rozdziay ukierunkowane na
zastosowanie technik numerycznych w elektrotechnice a pozostae
uzupeniono zestawem bardziej uniwersalnych przykadw, bazujc na
wykadach prowadzonych w ostatnim dziesicioleciu ze studentami
kierunku Informatyka na Wydziale Elektrotechniki i Informatyki
Politechniki Lubelskiej.
Wstp 9

Cenne wskazwki i wnikliwe uwagi recenzenta dr hab. Stanisawa


Grzegrskiego, prof. Politechniki Lubelskiej, przyczyniy si do
podniesienia merytorycznej jakoci podrcznika.

Wszelkie uwagi i propozycje prosimy kierowa do autorw na adres


b.panczyk@pollub.pl lub e.lukasik@pollub.pl.

Autorzy
1. Bdy oblicze numerycznych

1.1. Wstp
W teorii metod numerycznych zasadnicz rol odgrywa zrozumienie
ogranicze danej metody, co jest z kolei cile zwizane z okreleniem
bdu obliczeniowego. W niniejszym rozdziale przedstawimy
podstawowe definicje i problemy dotyczce oblicze numerycznych.
Przez zadanie numeryczne rozumiemy jasny i jednoznaczny opis
powizania funkcjonalnego midzy danymi wejciowymi (zmienne
niezalene) i danymi wyjciowymi (szukanymi wynikami). Algorytm dla
danego zadania numerycznego jest z definicji penym opisem poprawnie
okrelonych operacji przeksztacajcych dopuszczalne dane wejciowe na
dane wyjciowe. Operacje oznaczaj tu dziaania arytmetyczne
i logiczne. Dla danego zadania numerycznego mona rozwaa wiele
rnych algorytmw. Algorytmy te mog dawa wyniki o bardzo rnej
dokadnoci [1].

1.2. Podstawowe pojcia szacowania bdw


Mwic o bdach numerycznych naley pozna podstawowe pojcia
z nimi zwizane, ktre krtko omwiono w kolejnych podrozdziaach [1].

1.2.1. rda bdw


Do rde bdw mona zaliczy:
a) bdy danych wejciowych (gdy wykorzystujemy dane
zaokrglone, pochodzce np. z wczeniejszych oblicze lub gdy
dane wejciowe s wynikiem pomiarw wielkoci fizycznych
obarczonych bdami pomiarowymi),
b) bdy zaokrgle w czasie oblicze (zwizane z odpowiedni
reprezentacj liczby - patrz rozdzia 1.3),
c) bdy obcicia (gdy proces obliczania granicy jest przerywany
przed osigniciem wartoci granicznej - np. ograniczenie szeregu
nieskoczonego do skoczonej liczby skadnikw, aproksymacja
pochodnej za pomoc ilorazu rnicowego, obliczanie wartoci
1. Bdy oblicze numerycznych 11

caki oznaczonej jako granicy sum przybliajcych j podziaw


itp.),
d) uproszczenie modelu matematycznego (przyjcie zaoe
upraszczajcych),
e) bdy programisty.

1.2.2. Bdy wzgldne i bezwzgldne


Zamy, e warto x jest reprezentowana jako ~
x . Wwczas:
bd bezwzgldny reprezentacji jest rwny ~x x.
~
xx
bd wzgldny [%] reprezentacji jest rwny 100%, x 0.
x
Przyjmijmy, e zapis x ~ x oznacza, e ~ x x . Warto
max x ~
x nazywamy maksymalnym bdem bezwzgldnym lub
bdem granicznym.
Mwic o liczbie cyfr istotnych w uamku dziesitnym nie uwzgldnia
si zer na pocztku tego uamka, gdy okrelaj one tylko pozycj kropki
dziesitnej. Natomiast cyfry uamkowe s to wszystkie cyfry po kropce
dziesitnej, take ewentualne zera.
1
Jeli ~x x 10t , to mwimy, e ~ x ma t poprawnych cyfr
2
uamkowych. Cyfry istotne wystpujce a do pozycji t-tej po kropce
nazywamy cyframi znaczcymi.

Przykad 1.1.
W kolejnych przykadach podano liczby odpowiednich cyfr:
0.00147 5 cyfr uamkowych, 3 cyfry istotne,
12.34 2 cyfry uamkowe, 4 cyfry istotne,
0.001234 0.000004 5 cyfr poprawnych, 3 cyfry znaczce,
0.001234 0.000006 4 cyfry poprawne, 2 cyfry znaczce.

1.2.3. Przenoszenie si bdw


Przenoszenie si bdw numerycznych najlepiej zobrazuje przykad 1.2.

Przykad 1.2.
Niech x1 2.31 0.02, x2 1.42 0.03 .
12 Metody numeryczne w przykadach

Obliczmy rnic:
x1 x2 : 2.33 -1.39 = 0.94, 2.29 -1.45 = 0.84,
czyli:
x1 x2 = 0.89 0.05.
Oglnie mamy:
x1 1 ) ( ~
(~ x2 2 ) x1 x2 ~
x1 1 ( ~
x2 2 ) .
Zatem:
x1 x2 ~ x2 (1 2 ) ,
x1 ~
gdzie:
1, 2 s maksymalnymi bdami bezwzgldnymi.

Bd bezwzgldny sumy i rnicy jest wic rwny: 1 2 .

W przypadku obliczania iloczynu lub ilorazu przenoszenie si bdw


przedstawimy za pomoc bdw wzgldnych.
Niech r bdzie rzeczywistym bdem wzgldnym, tzn.
~
x x rx x(1 r ) .
Wemy:
~
x1 x1 (1 r1 ), ~
x2 x2 (1 r2 ) .
Wwczas:
~
x x (1 r1 )
~
x1 ~
x2 x1 x2 (1 r1 )(1 r2 ), ~1 1 .
x2 x2 (1 r2 )

Bd wzgldny iloczynu jest zatem rwny:


(1 r1 )(1 r2 ) 1 1 r1 r2 r1r2 1 r1 r2 ,
jeli tylko r1 1, r2 1.
1. Bdy oblicze numerycznych 13

Bd wzgldny ilorazu jest rwny:


(1 r1 ) 1 r1 1 r2 r1 r2
1 r1 r2 , jeli r2 1.
(1 r2 ) 1 r2 1 r2

1.3. Reprezentacja staopozycyjna i zmiennopozycyjna


Reprezentacja staopozycyjna operuje na ustalonej liczbie cyfr
uamkowych wszystkie liczby rzeczywiste skraca si do t cyfr
uamkowych. Dugo sowa maszynowego jest zwykle staa (np. s cyfr),

wic dopuszcza si tylko liczby z przedziau: 10st , 10st .
Reprezentacja zmiennopozycyjna operuje natomiast na ustalonej
liczbie cyfr istotnych.
W przypadku reprezentacji staopozycyjnej liczb cakowit
l przedstawiamy za pomoc rozwinicia dwjkowego w postaci:
n
l s bi 2i , gdzie b n 0 dla l 0, s = 1, bi 0 lub 1.
i 0

Jeli n < t, to liczba l jest reprezentowana w rozpatrywanej arytmetyce


znak-modu t-cyfrowej. Liczby dokadnie reprezentowane w tej
arytmetyce nale do przedziau: 2t 1, 2t 1 .
Liczb rzeczywist x 0 mona przedstawi take w postaci
zmiennopozycyjnej:
x s2 c m ,
gdzie:
s 1 (znak liczby),
c cecha liczby (liczba cakowita),
m mantysa liczby, m 0.5, 1) tzn. rozwinicie dwjkowe tej liczby
jest takie, e pierwsza cyfra po przecinku jest rna od zera.

Ponadto:
d bitw przeznacza si na reprezentacj mantysy,
t-d-1 bitw przeznacza si na reprezentacj cechy.
14 Metody numeryczne w przykadach

Rozwinicie dwjkowe mantysy jest na og nieskoczone:



m bi 2 i , (1.1)
i 1

dlatego zapamituje si tylko d-pocztkowych cyfr dwjkowych, stosujc


zokrglenie (d+1)-go bitu.
Jeli:
d
md bi 2 i b( d 1) 2 d , (1.2)
i 1

to zakada si, e mantysa m zostaa prawidowo zaokrglona do d cyfr


dwjkowych.

Przykad 1.3.
Niech d = 5 , x = 0.66.
Wyznaczajc reprezentacj dwjkow liczby x, po piciu krokach
otrzymujemy:
x=0. 66
1 32
0 64
1 28
0 56
1 12

Wynik rozwinicia dwjkowego, czyli: 0.010101, zwikszamy


o 0.00001 (poniewa d = 5), w celu otrzymania prawidowo zaokrglonej
mantysy:
0.010101
+0.00001
0.01011 (prawidowo zaokrglona mantysa).

Reprezentacj zmiennopozycyjn liczby x oznaczamy rd(x), tzn:


rd( x ) s2c md . (1.3)
Z (1.1) i (1.2) otrzymujemy:
1 d
m md 2 (bd bezwzgldny reprezentacji danych). (1.4)
2
1. Bdy oblicze numerycznych 15

Z (1.3) dla x 0 mamy:


rd( x) x
2d (bd wzgldny reprezentacji danych) (1.5)
x
lub inaczej rd(x) = x(1+), gdzie | | .

Liczba cyfr cechy decyduje o zakresie liczb zmiennopozycyjnych.


Liczba cyfr mantysy decyduje o dokadnoci liczb zmiennopozycyjnych.
Cecha:
c cmin , cmax , gdzie cmin = -cmax , cmax 2t d 1.

Jeli cecha danej liczby c cmin , wystpuje niedomiar pozycyjny


(liczba jest reprezentowana za pomoc samych zer, co powoduje du
niedokadno i na og przerwanie oblicze lub przyjmuje si, e jest to
liczba rwna zero). Jeli c cmax - wystpuje nadmiar pozycyjny i te na
og przerwanie systemowe programu.

1.4. Bdy zaokrgle oblicze zmiennopozycyjnych


Ze wzgldu na ograniczon dugo sw binarnych konieczne jest
zaokrglanie obliczanych wartoci, co powoduje pojawienie si bdw
zaokrgle. Zaokrglanie wystpuje w przypadku reprezentacji
wszystkich liczb niewymiernych (tj. o nieskoczonym rozwiniciu
dwjkowym), takich jak np. czy liczba Eulera.

Przykad 1.4.
Dzielenie dwch liczb wymiernych prowadzi czsto do koniecznoci
zaokrglenia powstaej w wyniku dzielenia liczby niewymiernej,np.:
1
3 0.333333... 0.333333 ,
1
6 0.666666... 0.166667 .

Jeli x i y s dwiema liczbami zmiennopozycyjnymi to wyniki


dodawania, odejmowania, mnoenia i dzielenia s zapamitywane przez
maszyn po zaokrgleniu lub uciciu.
16 Metody numeryczne w przykadach

Wyniki tych dziaa oznacza si jako:


fl(a+b),
fl(a-b),
fl(a*b),
fl(a/b).
Wyniki te s odpowiednio rwne zaokrglonej lub ucitej wartoci
dokadnego wyniku dziaania oraz:
fl(a b)=rd(a b)(1+), gdzie | | , (1.6)
a znak oznacza jeden z symboli dziaania: +, -, *, /.
Dziaania fl(a b) maj, do pewnego stopnia inne wasnoci ni
dokadne dziaania arytmetyczne. Dla dodawania zmiennopozycyjnego
nie zachodzi na og czno, co pokazuje przykad 1.5.

Przykad 1.5.
Rozwamy dodawanie a+b+c z siedmiocyfrowymi mantysami dla:
a 0.1234567 100 , b 0.4711325 104 , c -b.
Obliczenia wykonamy zmieniajc kolejno oblicze zmiennopozy-
cyjnych:
a) fl (a fl (b c)) ,
b) fl ( fl (a b) c) .

Ad a)
fl (b c) 0,
fl (a fl (b c)) a 0.1234567 10 0.

Ad b)
a 0.0000123 4567104
+ b 0.4711325 104
fl(a+b) 0.4711448 104
+c -0.4711325 104
fl(fl(a+b)+c) 0.0000123 104
Otrzymujemy:
fl (a fl (b c)) 0.1234567 100.
fl ( fl (a b) c) 0.0000123 104 0.1230000 100.
1. Bdy oblicze numerycznych 17

Jak wida nie jest spenione prawo cznoci dodawania


w obliczeniach zmiennopozycyjnych bowiem:
fl (a fl (b c)) fl ( fl (a b) c) .

Podczas wszelkich operacji arytmetycznych jestemy naraeni na


kumulowanie si bdw a nawet na ich powstawanie wskutek
ograniczonej dokadnoci reprezentacji wyniku dziaa w pamici
komputera. Przykadowo dodajc do siebie bardzo du i bardzo ma
liczb w wyniku moemy otrzyma warto wikszej zamiast sumy tych
liczb, co pokazuje przykad 1.6.

Przykad 1.6.
Bd wynikacjcy z niewystarczajco duej mantysy mona pokaza na
przykadzie obliczania sumy dwch liczb:
a = 231 000 000.0
b = 0.000 000 384
a+b = 231 000 000.000 000 384
Jeli dugo mantysy wynosi np. 10 cyfr znaczcych, to dla
dodawania zmiennopozycyjnego otrzymamy:
fl(a+b) = 231 000 000.0
czyli:
fl(a +b) = a (!!!).

Wskutek powyszego moe pojawi si problem np. ptli


nieskoczonej, jeli w kolejnych iteracjach warunek zakoczenia bazuje
na dodawaniu bardzo maej do bardzo duej wartoci.

Bdy wynikajce z reprezentacji liczb mona zmniejszy ustalajc


umiejtnie sposb i kolejno wykonywanych dziaa. Wpyw arytmetyki
zmiennopozycjnej na wynik oblicze w zalenoci od zastosowanego
algorytmu pokazuje przykad 1.7.

Przykad 1.7.
Dla danych a, b obliczy warto wyraenia w=a2-b2,. Zakadamy, e
mantysa jest reprezentowana na d bitach oraz bdy reprezentacji
wynosz i 2 d .
Obliczenia wykonamy dwoma algorytmami.
18 Metody numeryczne w przykadach

Algorytm 1
Obliczamy kolejno: x=a*a, y=b*b, w=x-y.

Z wzoru (1.6) otrzymujemy:


fl ( x ) (a * a )(1 1 ),
fl ( y ) (b * b)(1 2 ),
fl ( w) [( a * a )(1 1 ) (b * b)(1 2 )](1 3 )
a 2 1 b 2 2
(a b )
2 2
1(1 3 ) ( a 2 b 2 )(1 1 ),
a b
2 2

gdzie:
a 2 1 b 2 2
(1 1 ) 1 (1 3 )
a 2 b 2
a 2 1 b 2 2
1 3 O ( 1 , 1 , 1 ),
a 2 b 2
a O( 1 , 1 , 1 ) jest pomijalnie mae.
Jeli a 2 b 2 (mianownik bliski 0) oraz 1 i 2 maj przeciwne znaki to
bd 1 moe by bardzo duy.
Algorytm 2
Tym razem obliczamy kolejno: x=a+b, y=a-b, w=x*y.
Z wzoru (1.6) otrzymujemy:
fl ( x ) (a b)(1 1 ),
fl ( y ) (a b)(1 2 ),
fl ( w) [(a b)(1 1 )(a b)(1 2 )](1 3 ) (a 2 b2 )(1 2 ),
gdzie:
(1 2 ) (1 1 )(1 2 )(1 3 )
1 1 2 3 1 2 1 3 3 2 1 2 3 1 1 2 3 .
W tym przypadku, niezalenie od wartoci a i b, mamy zawsze:
2 3 2 d .
Bd dla drugiego algorytmu jest mniejszy i nie zaley od wartoci
a i b.
1. Bdy oblicze numerycznych 19

1.5. Algorytm numerycznie stabilny i poprawny


Wiemy ju, e jeli nawet argumenty dziaania matematycznego wyraaj
si w komputerze dokadnie to nie jest pewne, e wynik tego dziaania
rwnie bdzie dokadny. W rozdziale 1.4 pokazalismy, e wynik kadej
operacji arytmetycznej jest obarczony bdem reprezentacji liczby
zmiennopozycyjnej. W przypadku algorytmw niestabilnych prowadzi to
czsto do wynikw niezgodnych z oczekiwaniami nawet co do znaku.
Niestabilno numeryczna powstaje wwczas, kiedy may bd
numeryczny w trakcie dalszych oblicze powiksza si (np. przemnaa
si) i powoduje duy bd wyniku. Niestabilno numeryczn moemy
atwo zaobserwowa obliczajc cig caek pokazany w przykadzie 1.8.

Przykad 1.8.
1
xn
Obliczy dla n = 0,1,..,15 caki: yn dx .
0
x5
Zauwamy, e:
1 n 1 n 1
x 5xn 1 x ( x 5) xn 1 1
yn 5yn 1 dx dx .
0
x 5 0
x 5 n 0 n
Otrzymujemy wobec tego wzr rekurencyjny:
1
yn 5yn 1 ,
n
na podstawie ktrego zbudujemy dwa algorytmy. Oba algorytmy
zaimplementowano w jzyku C a przykadowe obliczenia realizowano
z zastosowaniem reperezentacji zmiennopozycyjnej pojedynczej precyzji
(wartoci rzeczywiste reprezentowane na 4 bajtach).

Algorytm 1
Korzystajc z wzoru:
1
yn 5yn 1 ,
n
mamy:
1
dx
y0 ln( x 5) ln 6 ln 5 0.182 32156.
1

0
x 5 0
20 Metody numeryczne w przykadach

Przyjmujc y0 0182321556
. , obliczamy kolejno:
y1 1 5 y0 0.0884 ,
y2 1 / 2 5 y1 0.0580 ,
y3 1 / 3 5 y2 0.0431 ,
....................
y10 1 / 9 5 y9 0.0040 ,
y11 1 / 10 5 y10 0.3071 (wynik bdny warto caki oznaczonej
ujemna?).

Powodem otrzymania zego wyniku jest to, e bd zaokrglenia


wartoci y0 jest mnoony przez -5 przy obliczaniu y1 . Tak wic warto
y1 jest obarczona bdem -5. Ten bd tworzy bd 25 w y2 , -125
w y 3 itd. Nakadaj si na to bdy zaokrglenia popeniane w kolejnych
krokach oblicze, majce jednak stosunkowo mae znaczenie.
Podstawiajc y0 ln 6 ln 5 popeniamy mniejszy bd zaokrglenia,
ktry take powoduje due znieksztacenie wyniku oblicze
yi , dla i 16. Oczywicie otrzymywane wyniki zale take od
precyzji, z jak przeprowadzano obliczenia. Dla podwjnej precyzji
oblicze (reprezentacja liczby na 8 bajtach), wyranie bdne wyniki
wystpuj dla i > 20.
Algorytm 2
Ten sam cig caek moemy wyznaczy inaczej. Jeli przeksztacimy
wzr na zaleno rekurencyjn tak, eby oblicza w kolejnych iteracjach
elementy cigu w drug stron, mamy:
1 1
yn 1 yn .
5n 5
Dziki temu w kadym kroku bd bdzie dzielony przez -5. Poniewa
yn maleje gdy n ronie, moemy przypuszcza, e dla duych n, yn
maleje wolno. Wobec tego przyjmujc y16 y17 i korzystajc z wzoru:
1 1
y16 y17 ,
5 17 5
otrzymujemy:
1 1 1 5
y16 y16 y16 0.009803921 .
5 17 5 5 17 6
1. Bdy oblicze numerycznych 21

Nastpnie obliczamy:
1 1
y15 y16 0.0113 ,
5 16 5
y14 0.0120 ,
y13 0.0129 ,
...................
y0 0.18232156 (wynik poprawny).
W przypadku algorytmu 1 mamy do czynienia z niestabilnoci
numeryczn, bowiem mae bdy popeniane na pewnym etapie oblicze
rosn w nastpnych etapach i istotnie znieksztacaj ostateczne wyniki
(nawet co do znaku!).

Maksymalny przewidywalny bd wyniky wycznie z przeniesienia


bdu reprezentacji danych na wynik oblicze nazywamy optymalnym
poziomem bdu danego zadania w arytmetyce t-cyfrowej.
Algorytm stabilny gwarantuje otrzymanie wyniku akceptowanego
z poziomem bdu tego samego rzdu, co optymalny poziom bdu.
Rozwizanie obliczone algorytmem numerycznie poprawnym jest
nieco zaburzonym rozwizaniem zadania o nieco zaburzonych danych,
tzn. jeli dane s obarczone bdem, to i wynik jest obarczony
porwnywalnym bdem.
Stabilno jest minimaln wasnoci, jakiej wymagamy od algorytmu,
poprawno maksymaln wasnoci jakiej moemy oczekiwa od
zastosowanego algorytmu [1, 4, 5].

1.6. Uwarunkowanie zadania obliczeniowego


Okazuje si, e powszechna intuicja, e mae zaburzenia danych powinny
dawa mae zaburzenia wyniku, nie znajduje potwierdzenia nawet
w prostych przypadkach. Umiejtno oceny jakociowego wpywu
zaburzenia danych na wynik jest podstaw w obliczeniach
numerycznych.
Wraliwo rozwizania na dane pocztkowe okrela tzw.
uwarunkowanie zadania numerycznego.
Zadanie jest le uwarunkowane, jeli mae (wzgldne) zmiany w danych
pocztkowych wywouj due (wzgldne) zmiany wynikw. Zadanie le
22 Metody numeryczne w przykadach

uwarunkowane obarczone jest duymi bdami wynikw niezalenie od


obranej metody rozwizywania.
Przypumy, e zadanie obliczeniowe polega na wyznaczeniu f(x) dla
danego x. Jak bardzo bdzie odlege f (x~) , gdy x ~x?
Rozwaa si dwa przypadki:
uwarunkowanie wzgldne: jak wzgldne zaburzenie danych
wpywa na bd wzgldny wyniku:
f ( x) f ( ~
x) x~x
cond rel ( f , x) .
f ( x) x
Najmniejszy mnonik cond rel ( f , x) speniajcy powysz
nierwno nazywamy wspczynnikiem uwarunkowania
(wzgldnego) zadania obliczenia f(x) dla danego x.
uwarunkowanie bezwzgldne: jak bezwzgldne zaburzenie
danych wpywa na bd bezwzgldny wyniku:
f ( x) f ( ~
x ) cond abs ( f , x) x ~
x.
Najmniejszy mnonik cond abs ( f , x) speniajcy powysz
nierwno nazywamy wspczynnikiem uwarunkowania
(bezwzgldnego) zadania obliczenia f(x) dla danego x.

Symbol w powyszych nierwnociach w oglnym przypadku


oznacza norm, czyli miar pewnej odlegoci. Dla liczb rzeczywistych
norm moe by warto bezwzgldna. Przykady norm dla wektorw
i macierzy podano w rozdziale 2.2.4, natomiast normy definiowane jako
miary odlegoci pomidzy funkcjami rozwaane s w rozdziale 3.5.1.

Mwimy, e zadanie f(x) jest


dobrze uwarunkowane w punkcie x, gdy cond ( f , x) 1 ,
le uwarunkowane w punkcie x, gdy cond ( f , x) 1 ,
le postawione w punkcie x, gdy cond ( f , x) .
2. Podstawy rachunku macierzowego

2.1.Wstp
W metodach numerycznych wiodc rol odgrywaj operacje
macierzowe. Celowym jest wobec tego przypomnienie niezbdnych poj
i definicji zwizanych z algebr liniow [1].
W zastosowaniach matematyki do rozmaitych zagadnie naukowych
bardzo czsto wykorzystuje si najprostszy typ operatorw - operatory
liniowe.
Oznaczmy pewn dan macierz kwadratow jako A. Podstawowymi
problemami algebry liniowej bd:
rozwizanie ukadu rwna Ax = b,
rozwizanie zadania wasnego, czyli okrelenie wartoci wasnych
k i wektorw wasnych x k takich, e Ax k k x k dla
k = 1,2,...,n.

Rozwizywanie ukadw rwna liniowych jest zadaniem


wystpujcym czsto w rnych problemach inynierskich. Nawet ukady
rwna nieliniowych rozwizuje si czsto przybliajc je cigami
ukadw liniowych (np. w metodzie Newtona rozdzia 5.5).

2.2. Podstawowe pojcia algebry liniowej


Macierz A nazywamy ukad m x n liczb rzeczywistych lub zespolonych.
Liczby te s zgrupowane w tablic:
a11 a12 ... a1n
a a 22 ... a 2n
A ,
21
(2.1)
... ... ... ...

a m1 a m2 ... a mn

gdzie m x n oznacza, e macierz ma m wierszy i n kolumn.


24 Metody numeryczne w przykadach

Definicj macierzy A mona te zapisa krcej:


A (aij ), i 1,2,..., m, j 1,2,..., n. . (2.2)

Jeli n = 1, to macierz skada si tylko z jednej kolumny i nazywa si


wektorem kolumnowym, ktry oznaczamy jako:
x ( xi ), i 1,2,..., m. (2.3)
Dla m = n macierz A nazywamy macierz kwadratow, natomiast
n - stopniem macierzy kwadratowej.
Jednym z rodzajw macierzy kwadratowych s macierze przektniowe
(diagonalne), ktre maj wartoci rne od zera tylko na gwnej
przektnej (diagonali):
d1 0 ... 0
0 d2 ... 0
D diag ( d1 , d 2 ,..., d n ) . (2.4)
... ... ... ...

0 0 ... d n

Natomiast szczeglnym przypadkiem macierzy D jest macierz


jednostkowa I n stopnia n, okrelona wzorem:

1 0 ... 0
0 1 ... 0
In diag (1,1,...,1) ( ij ) , (2.5)
... ... ... ...

0 0 0 1
gdzie ( ij ) jest symbolem (delt) Kroneckera:

0 dla i j,
ij (2.6)
1 dla i j.
Macierz jednostkow czsto okrela si samym symbolem I.

Macierze A i B s sobie rwne (A = B), jeli maj takie same wymiary


i ich wszystkie wyrazy s rwne:
aij bij dla i 1,2,..., m; j 1,2,..., n.
Iloczyn macierzy A i liczby jest macierz A ( aij ) .
2. Podstawy rachunku macierzowego 25

Suma dwch macierzy o takich samych wymiarach (C = A + B) jest


macierz o elementach cij aij bij .
Iloczyn dwch macierzy: A (m x p) i B (p x n) jest macierz C (m x n)
o elementach obliczanych ze wzoru:
p
cij aik bkj . (2.7)
k 1

Mnoenie macierzy na og nie jest przemienne, czyli:


AB BA.
Inne wasnoci mnoenia to:
A(BC) ( AB )C,
(2.8)
A(B C) AB AC.
Transpozycj A T macierzy A nazywamy macierz, ktrej wiersze s
kolumnami macierzy A.
Jeli B = A T , to bij a ji .
Wektor kolumnowy x ( x1 , x2 ,..., xn ) T jest transpozycj pewnego
wektora wierszowego.
W przypadku transpozycji iloczynu macierzy wystpuje tosamo:
( AB ) T BT A T . (2.9)
Macierz sprzon A nazywamy macierz zespolon, ktrej kady
element zosta zastpiony liczb z nim sprzon. Macierz A T oznacza si
symbolem A H .
Macierz trjktna ma posta:
l11 0 ... 0 r11 r12 ... r1n
l l 22 ... 0 0 r ... r2n
L lub R ,
21 22
(2.10)
... ... ... ... ... ... ... ...

ln1 ln2 ... lnn 0 0 ... rnn

przy czym L jest macierz trjktn lew (doln), a R - praw (grn).


Sumy i iloczyny macierzy trjktnych dolnych s take macierzami
trjktnymi dolnymi, a sumy i iloczyny macierzy trjktnych grnych s
macierzami trjktnymi grnymi.
26 Metody numeryczne w przykadach

Wyznacznik macierzy kwadratowej A stopnia n ma symbol det(A):


a11 a12 ... a1n
a a 22 ... a 2n
det(A ) det .
21
(2.11)
... ... ... ...

a n1 an2 ... a nn

Przy obliczaniu wyznacznika obowizuj wzory:


dla n 1 det(A) a11 , (2.12)
dla n 1 det(A) a11 A11 a12 A12 ... ( 1) n1 a1n A1n , (2.13)
gdzie A1k (k 1,2, ..., n) oznacza wyznacznik stopnia n-1, ktry powstaje
przez skrelenie pierwszego wiersza i k-tej kolumny z macierzy A.

Dla dowolnej macierzy kwadratowej A obowizuj nastpujce reguy:


warto wyznacznika nie zmieni si, jeli do wiersza (kolumny)
doda si iloczyn innego wiersza (lub innej kolumny) przez liczb,
wyznacznik macierzy trjktnej jest rwny iloczynowi elementw
gwnej przektnej: det(L) l11l22 ... lnn , det(R) r11r22 ... rnn ,
przestawienie dwch wierszy lub dwch kolumn zmienia jedynie
znak wyznacznika,
det(A) det(A T ) ,
det(AB ) det(A) det(B) .

Podwyznacznikiem Aik , czyli minorem macierzy odpowiadajcym


elementowi aik , nazywamy wyznacznik podmacierzy stopnia n-1, ktra
powstaje z danej macierzy przez opuszczenie i-tego wiersza i k-tej
kolumny.
Macierz A jest nazywana nieosobliw, jeli det(A) 0, w przeciwnym
wypadku okrela si j jako osobliw. Do kadej macierzy nieosobliwej
istnieje macierz odwrotna A 1 speniajca zaleno AA1 A1A I .
W przypadku odwrotnoci iloczynu speniona jest tosamo:
(AB) 1 B 1 A 1 .
2. Podstawy rachunku macierzowego 27

Macierz symetryczna jest rwna swojej transpozycji ( A A T ).


Iloczyn dwch macierzy symetrycznych A i B jest symetryczny tylko pod
warunkiem, e AB BA.
Macierz symetryczn nazywa si dodatnio okrelon, jeli zwizana
z ni forma kwadratowa x T Ax spenia warunek x T Ax 0 dla kadego
rzeczywistego x 0.
Macierz ortogonaln Q nazywamy macierz m x n speniajc
zaleno Q T Q I . W przypadku, gdy m = n, mamy Q T Q 1 oraz
Q T Q QQ T .
Rzeczywistym macierzom symetrycznym i ortogonalnym odpowiadaj
zespolone macierze hermitowskie o zalenoci A H A oraz macierze
unitarne, dla ktrych U H U I .

2.2.1. Macierze blokowe


Dowoln macierz A mona przedstawi jako macierz blokow,
zbudowan z pewnej liczby macierzy o mniejszych wymiarach:
A11 A12 ... A1n
A A 22 ... A 2 n
A 21 , (2.14)
... ... ... ...

A m1 A m2 ... A mn

gdzie A ij jest macierz o wymiarach pi xq j .


Najbardziej interesujcy jest przypadek, kiedy macierze na przektnej
A ii s kwadratowe. W takim przypadku macierz A rwnie musi by
kwadratowa, a pi qi (i 1,2,..., n) . Dodawanie i mnoenie takich
macierzy blokowych wykonuje si tak samo, jak gdyby bloki byy
liczbami.
Na przykad, dla C = AB istnieje zaleno:
n
Cij A ik B kj . (2.15)
k 1

Macierz blokowo-przektniow nazywa si macierz, ktr mona


zapisa w postaci blokowej jako:
A diag ( A11, A 22 ,..., A nn ) ,
28 Metody numeryczne w przykadach

przy czym macierze A ii musz by kwadratowe.


Analogicznie definiuje si macierz blokowo-trjktn. Dla macierzy
blokowo-trjktnej lewej wyznacznik oblicza si ze wzoru:
det(L) det(L11 ) det(L 22 )...det(L nn )
i podobnie dla macierzy blokowo-trjktnej prawej.
Macierze blokowe mog by take wykorzystywane do upraszczania
oblicze na liczbach zespolonych. Dowoln macierz zespolon mona
zastpi macierz rzeczywist, dwukrotnie wiksz. Ta sama regua
odnosi si take do wektorw.
Rozpatrzmy macierz zespolon A i wektor zespolony x: A = B+jC,
x = y+jz, gdzie j 1 , B i C - macierze rzeczywiste, y i z - wektory
rzeczywiste. Mona wtedy zapisa, e:
~ B C ~ y
A , x z , (2.16)
C B
~
gdzie A , ~
x oznaczaj rzeczywiste odpowiedniki A i x.

2.2.2. Przestrzenie liniowe wektorowe


Wektor moemy zdefiniowa jako uporzdkowany zbir n liczb
(rzeczywistych lub zespolonych) o postaci:
( x1 , x2 ,..., xn ) .
Zbir wszystkich takich wektorw tworzy przestrze wektorow Rn
(dla liczb rzeczywistych) lub Cn (dla liczb zespolonych) o wymiarze n.
Jeli zaoymy, e liczby xi s wsprzdnymi w ukadzie prostoktnym,
to iloczyn skalarny wektorw x i y w przypadku zespolonym okrela si
wzorem:
(x, y ) ( x1 y1 x2 y2 ... xn yn ) . (2.17)
Jeli x jest wektorem kolumnowym, to iloczyn skalarny (x,y) mona
uzna za przypadek szczeglny mnoenia macierzy:
(x, y ) x H y .
Dla wektorw rzeczywistych ten sam wzr przyjmie posta:
(x, y ) x T y .
2. Podstawy rachunku macierzowego 29

Wektor:
y c1x1 c2 x 2 ... ck x k ,
nazywany jest kombinacj liniow wektorw x 1 , x 2 ,..., x k .
Wektory te s nazywane liniowo niezalenymi, jeli rwno:
c1x1 c2 x 2 ... ck x k 0
zachodzi tylko pod warunkiem, e c1 c2 ... ck 0 .
W przeciwnym wypadku wektory te okrela si jako liniowo zalene.
Zbir wszystkich moliwych kombinacji liniowych wektorw
x 1 , x 2 ,..., x k nazywa si podprzestrzeni liniow Rk w Rn . Mwi si, e
podprzestrze ta jest rozpita na wektorach x 1 , x 2 ,..., x k .
W przestrzeni Rn istnieje co najwyej n wektorw liniowo
niezalenych. Dowolny zbir n takich wektorw: y1 , y 2 ,..., y n tworzy
baz przestrzeni Rn .
Kady wektor x z Rn mona wic wyrazi jako:
x 1y1 2 y 2 ... n y n , (2.18)
gdzie 1 , 2 ,..., n nazywa si wsprzdnymi tego wektora wzgldem
bazy y1 , y 2 ,..., y n .
Jako najprostszy przykad bazy w Rn mona rozpatrzy n kolumn
macierzy jednostkowej I (e1 , e 2 ,..., e n ) .
Dowoln macierz A mona uwaa za zbudowan z wektorw
kolumnowych lub wierszowych:
A (a1 , a2 ,..., an ), A (a1T , aT2 ,..., aTm )T , (2.19)

gdzie ai (a1i , a2i ,..., ami ) .


Najwiksza liczba niezalenych liniowo wektorw kolumnowych
w macierzy A jest rwna najwikszej liczbie niezalenych liniowo
wektorw wierszowych w A. Jeli liczba ta wynosi r, to oznacza ona rzd
macierzy A, okrelany jako:
rank(A) = r,
przy czym r min(m,n).
W szczeglnym przypadku, jeli r m n, macierz A jest
nieosobliwa.
30 Metody numeryczne w przykadach

Ukad m rwna z n niewiadomymi postaci:


a11x1 a12 x2 ... a1n xn b1
a x a x ... a x b
21 1 22 2 2n n 2
(2.20)
......................................

a m1 x1 a m 2 x2 ... a mn xn bm
w symbolice macierzowej moe zosta zapisany jako:
Ax = b.
Jeli b = 0, ukad taki nazywa si jednorodnym. Ukad jednorodny ma
zawsze trywialne rozwizanie x = 0.
Jeli rank( A) r n , to jednorodny ukad Ax = 0 ma n-r rozwiza
niezalenych liniowo.
Ten sam ukad rwna mona take zapisa w postaci:
x1a1 x2a2 ... xn an b . (2.21)
Wektor b mona zatem okreli jako kombinacj liniow wektorw
kolumnowych macierzy A. Wynika z tego warunek rozwizalnoci
ukadu rwna:
Ax = b, b R(A) ,
gdzie R(A) oznacza przestrze rozpit na kolumnach macierzy A.
Ten sam warunek mona zapisa jako:
rank(A,b) = rank(A).
Jeli r m n , to R( A) Rn i warunek rozwizalnoci jest speniony
przez kady wektor b. W takim przypadku rozwizanie jest jednoznacznie
okrelone wzorem:
x A 1b .
Uwagi te s take prawdziwe w przypadku zespolonym.

2.2.3. Wartoci wasne


Jeli dla danej liczby i wektora x 0 speniona jest rwno:
Ax = x,
2. Podstawy rachunku macierzowego 31

to nazywa si wartoci wasn macierzy A, a x - wektorem wasnym


odpowiadajcym wartoci .
Rwnanie Ax=x mona take zapisa w postaci:
(A - I)x = 0
i jest to ukad jednorodny wzgldem x.
Ukad ten ma rozwizanie x 0 tylko pod warunkiem, e:
det(A - I) = 0.
Rwnanie:
det(A - I) = 0
nazywane jest rwnaniem charakterystycznym macierzy A. Poniewa
jest ono rwnaniem n-tego stopnia wzgldem , wic ma dokadnie n
pierwiastkw rzeczywistych lub zespolonych: 1 , 2 ,..., n liczc
krotnoci. Zbir wartoci wasnych ( 1 , 2 ,..., n ) macierzy kwadratowej
A nazywamy widmem tej macierzy.
Jeli C jest macierz nieosobliw to macierz:
B C1AC ,
nazywa si podobn do A, a przeksztacenie A w B - przeksztaceniem
macierzy A przez podobiestwo. Jeli jest wartoci wasn,
a x -\odpowiednim wektorem wasnym macierzy A, to zachodz
nastpujce zalenoci:
Ax x (C1AC)C1x C1x . (2.22)
Wynika z tego, e jest take wartoci wasn macierzy B,
a wektorem wasnym tej macierzy jest y C 1x .
Kada macierz kwadratowa ma n wartoci wasnych i wektorw
wasnych: Ax i i x i i 1,2,..., n . T sam zaleno mona take
zapisa krcej:
AX X , dla X (x1 , x 2 ,..., x n ), diag (1 , 2 ,..., n ) . (2.23)
Jeli wektory wasne x 1 , x 2 ,..., x n s niezalene liniowo, to macierz X
jest nieosobliwa, z czego wynika rwno X1AX . Poprzez
przeksztacenie macierzy A przez podobiestwo za pomoc X uzyskuje
si macierz przektniow. Tak macierz A nazywa si wtedy
diagonalizowaln.
32 Metody numeryczne w przykadach

Jeli wszystkie wartoci wasne s rne ( i j dla i j ), to


wektory wasne s zawsze liniowo niezalene. Istniej jednak macierze
z wielokrotnymi wartociami wasnymi, ktrych nie mona
diagonalizowa. Najprostszym przykadem takiej macierzy jest:
0 1
A . (2.24)
0 0
Jeeli elementy macierzy A s liczbami rzeczywistymi, to jej wartoci
wasne s liczbami rzeczywistymi lub zespolonymi parami sprzonymi.
Jeli natomiast macierz A jest rzeczywista i symetryczna, to jej wartoci
wasne s liczbami rzeczywistymi. Wektory wasne x i i x j odpowia-
dajce dwm rnym wartociom wasnym i i j s ortogonalne, czyli
x iT x j 0 . Zawsze mona tak dobra wektory wasne, odpowiadajce
wielokrotnej wartoci wasnej, aby byy ortogonalne. Na przykad kady
wektor jest wektorem wasnym macierzy jednostkowej I, odpowia-
dajcym wartoci wasnej 1.

Z zalenoci Ax x wynika, e:
( A cI)x ( c)x ,

A 2 x 2 x , (2.25)
1
A 1x x dla 0 .

Oznacza to, e macierze o postaci A n maj wartoci wasne n ,
a macierz A cI - wartoci wasne c .
Oglnie, jeli P( z) a0 z n a1 z n1 ...an , to macierz P(A) ma
wartoci wasne P().

2.2.4. Normy wektorw i macierzy


Norm macierzy lub wektora nazywamy liczb nieujemn, bdc
w pewnym sensie miar wielkoci tej macierzy lub wektora.
2. Podstawy rachunku macierzowego 33

Norm wektora definiujemy jako:


1
n
p
xi .
p
x (2.26)
i 1
p

Czsto uywa si dwch szczeglnych przypadkw:


n
x
2
x 2 i dla p = 2 (norma euklidesowa) (2.27)
i 1

x
max xi dla p (norma maksymalna) (2.28)
i

Normy wektorw musz mie nastpujce wasnoci:


x 0 dla x 0 , x 0 dla x 0 ,

x x , gdzie - dowolna liczba, (2.29)

xy x y .

Natomiast norma macierzy musi spenia nastpujce warunki:


A 0 dla A 0 , A 0 dla A 0 ,

A A , (2.30)

AB A B ,

AB A B .

Trzecia nierwno we wzorach (2.29) i (2.30) nazywana jest


nierwnoci trjkta, natomiast ostatnia nierwno we wzorze (2.30) -
nierwnoci Schwarza. Z tego ostatniego warunku wynika
w szczeglnoci, e:
Am A .
m
(2.31)

Norm euklidesow macierzy okrela si wzorem:


m n
A2 a
i 1 j 1
2
ij . (2.32)
34 Metody numeryczne w przykadach

Jeli norma macierzy i norma wektora s tak ze sob zwizane, e


speniona jest nierwno:
Ax A x . (2.33)

to te dwie normy nazywa si zgodnymi.


Dla kadej normy wektora istnieje zgodna z ni norma macierzy. Jest
to tzw. norma macierzy indukowana przez norm wektora:
Ax
A max , dla x 0 . (2.34)
x
Norm macierzy indukowan przez norm maksymaln wektora (2.28)
oblicza si ze wzoru:
n
A
max aij . (2.35)
i
j 1
3. Interpolacja i aproksymacja

3.1. Wstp
Wiele zjawisk fizycznych jest opisywanych przez funkcje, ktrych
postaci nie znamy, ale potrafimy obliczy lub zmierzy wartoci tych
funkcji oraz ich pochodnych dla okrelonych wartoci argumentu. Na
przykad, moemy dysponowa zbiorem pomiarw wartoci pewnych
parametrw uzyskanych w okrelonych chwilach czasowych.
Interpolacj nazywamy postpowanie prowadzce do znalezienia
wartoci pewnej funkcji f(x) w dowolnym punkcie przedziau (x0, xn) na
podstawie znanych wartoci tej funkcji w punktach x0, x1, ..., xn, zwanych
wzami interpolacji (x0 < x1 < ... < xn) [1, 4, 8, 9, 10].
Postpowanie prowadzce do znalezienia wartoci funkcji f(x)
w punkcie lecym poza przedziaem (x0, xn) nazywamy ekstrapolacj.
Interpolacj lub ekstrapolacj stosujemy najczciej w nastpujcych
przypadkach:
gdy nie znamy samej funkcji f(x), a tylko jej wartoci w pewnych
punktach (tak przewanie bywa w naukach dowiadczalnych);
gdy obliczanie wartoci pewnej funkcji F(x) bezporednio
z okrelajcego j wzoru nastrcza zbyt due trudnoci
rachunkowe; wtedy zastpujemy j prostsz funkcj f(x), o ktrej
zakadamy, e w punktach x0, x1, ..., xn ma te same wartoci co
funkcja F(x); w tym przypadku F(x) nazywamy funkcj
interpolowan, za f(x) funkcj interpolujc (rys. 3.1).

Funkcji interpolujcej poszukuje si zwykle w pewnej okrelonej


postaci. Najczciej zakada si, e jest to wielomian lub funkcja
wymierna. Przedmiotem naszych rozwaa bdzie interpolacja
wielomianami algebraicznymi, wielomianami trygonometrycznymi oraz
funkcjami sklejanymi. Obecnie stosuje si albo proste metody, jak
interpolacja liniowa czy kwadratowa, albo te bardziej zoone,
wymagajce uycia komputera, jak np. interpolacja za pomoc funkcji
sklejanych.
36 Metody numeryczne w przykadach
znerycm
piktu-
F(x)
- funkcja interpolowana

- funkcja interpolujca
y=F(x)
y=f (x)

F(x 1)

F(x 2)
F(x 0 )

x0 x1 x2 ....... xk . . . . . . . . . . xn x

Rys. 3.1. Interpretacja geometryczna zagadnienia interpolacji

Wzory interpolacyjne s punktem wyjcia do wyprowadzenia wielu


metod stosowanych w rnych dziaach metod numerycznych
(rozwizywanie rwna, rniczkowanie i cakowanie numeryczne,
numeryczne rozwizywanie rwna rniczkowych zwyczajnych).

3.2. Interpolacja wielomianowa


3.2.1. Jednoznaczno rozwizania zagadnienia interpolacyjnego
Wielomianem interpolacyjnym Wn(x) nazywamy wielomian stopnia co
najwyej n, ktry w punktach x0, x1, ..., xn spenia warunki interpolacji:
Wn(xi)=yi dla i=0,1,2,,n. (3.1)

Twierdzenie 3.1.
Istnieje dokadnie jeden wielomian interpolacyjny, ktry w punktach
x0, x1, ..., xn przy zaoeniu, e spenia warunki
interpolacji (3.1).
3. Interpolacja i aproksymacja 37

Wzy interpolacji x0, x1, ..., xn mog by rozmieszczone w zupenie


dowolny sposb a szukany wielomian mona zapisa w postaci:
Wn(x)=a0+a1x+a2x2+. . .+anxn . (3.2)

Korzystajc z definicji wielomianu interpolacyjnego otrzymujemy


ukad n+1 rwna z n+1 niewiadomymi wspczynnikami a0, a1, ..., an:

(3.3)
{

Macierz wspczynnikw tego ukadu jest macierz Vandermondea


postaci:
1 x0 x02 ... x0n

1 x1 x12 ... x1n
A , (3.4)
... ... ... ... ...

1 xn xn2 ... xnn
za wyznacznik D macierzy A ma posta:
1 x0 x02 ... x0n
1 x1 x12 ... x1n
D . (3.5)
... ... ... ... ...
1 xn xn2 ... xnn

Przy zaoeniach, e xi xj dla i j, mamy zawsze D = (x


1 j i n
i xj) 0.

Zatem ukad (3.3) ma dokadnie jedno rozwizanie, a wartoci ai


wedug twierdzenia Cramera s okrelone wzorem:
1 n
ai y j Dij ,
D j 0
(3.6)
38 Metody numeryczne w przykadach

gdzie Dij (j = 0, 1, 2, ..., n) s kolejnymi dopenieniami algebraicznymi


elementw i-tej kolumny wyznacznika D.

3.2.2. Wielomian interpolacyjny Lagrangea


Twierdzenie 3.2.
Wielomian Wn(x) postaci (3.7) jest wielomianem interpolacyjnym dla
dowolnego wyboru n+1 wzw interpolacji x0, x1, ..., xn takich, e xi xj
dla i j.
( x x1 )( x x2 )...( x xn )
Wn ( x) = y0 +
( x0 x1 )( x0 x2 )...( x0 xn )
( x x0 )( x x2 )...( x xn )
+ y1 + ... + (3.7)
( x1 x0 )( x1 x2 ) ... ( x1 xn )
( x x0 )( x x1 )...( x xn1 ) n n
= yj
x xk .
( xn x0 )( xn x1 )...( xn xn1 ) j=0 k 0 x j xk
+ yn
k j

Przyjmujc oznaczenia:
k (x) = (x - x0 )(x - x1 )...(x - xn ),
n ( x j ) - warto pochodnej wielomianu n (x) w punkcie xj bdcym
zerem tego wielomianu,
wielomian interpolacyjny Wn(x) mona zapisa w postaci:
n
n ( x)
Wn ( x) y j . (3.8)
j 0 ( x x j )n' ( x j )
Wzr (3.7) nazywamy wzorem interpolacyjnym Lagrangea opartym
na wzach x0, x1, ..., xn. Wielomian ten jest wielomianem stopnia co
najwyej n i jest jednoznacznym rozwizaniem zadania interpolacyjnego
dla dowolnego wyboru n+1 rnych wzw interpolacji.

Przykad 3.1.
Znale wielomian interpolacyjny Lagrangea, ktry w punktach:
-2, -1, 0, 2 przyjmuje odpowiednio wartoci 0, 1, 1, 2.
Obliczy take przyblion warto funkcji danej powyszymi
wartociami w punkcie x=1.
3. Interpolacja i aproksymacja 39

Stosujc wzr Lagrangea (3.7) dla n = 3 otrzymujemy:


( x 1)( x 0)( x 2) ( x + 2)( x 0)( x 2)
W3 ( x ) = 0 +1
( 2 1)( 2 0)( 2 2) (-1 2)(-1 0)(-1 2)
( x + 2)( x + 1)( x 2) ( x + 2)( x 1)( x 0)
+1 +2
(0 + 2)(0 + 1)(0 2) ( 2 2)( 2 + 1)( 2 0)
1 1 1
( x 3 4 x ) ( x 3 x 2 4 x 4 ) + ( x 3 3 x 2 2 x )
3 4 12
1 1
x 3 x + 1.
6 6

Uywajc tego wielomianu mona teraz interpolowa wartoci funkcji


f(x) w punktach przedziau [-2,2]. Przybliona warto funkcji f
w punkcie 1, to warto wielomianu W3(1):
1 3 1
f (1) W3 (1) 1 1 + 1 1.
6 6
Wielomian interpolacyjny stosuje si rwnie do obliczania jego
wartoci w punktach nie nalecych do przedziau obejmujcego punkty
x0, x1, ..., xn i wtedy mamy do czynienia z ekstrapolacj. Niezalenie od
tego czy punkt naley do tego przedziau czy znajduje si poza nim
naley, do oceny bdu, posuy si tzw. twierdzeniem o reszcie
aproksymacji wielomianem interpolacyjnym.

Niech W(x) bdzie wielomianem interpolacyjny Lagrangea oraz


I I[ x0 , x1 ,..., xn ] oznacza przedzia zawierajcy wzy interpolacji x0, x1,
..., xn.
Twierdzenie o reszcie interpolacyjnej
Dla kadej funkcji f C n1 (I) i kadego x I , istnieje taki punkt I ,
e:
f ( n1) ( )
f ( x) W ( x) p( x),
(n 1)!
gdzie :
n
p ( x ) ( x xk ) .
k 0
40 Metody numeryczne w przykadach

a funkcja R(x)=f(x)-W(x) jest tzw. reszt interpolacji.


Dla dowolnego M>0 rozwamy teraz klas funkcji:

C Mn1[a, b] f C n1[a, b] : f ( n1) ( x) M .
x[ a ,b ]
Jeli wzy interpolacji x0, x1, ..., xn nale do przedziau [a,b]
i f C n1[a, b] wtedy:
M
R( x) p ( x) ,
(n 1)!
gdzie p( x) max p( x) jest norm jednostajn wielomianu p(x).
a xb

3.2.3. Wzr interpolacyjny Newtona


Wzr interpolacyjny Lagrangea jest niewygodny do stosowania
w przypadku, gdy zmienia si liczba wzw. Wtedy do wyznaczenia
wielomianu okrelonego stopnia trzeba powtarza obliczenia od pocztku.
Zatem poprzez dodanie nowych wzw interpolacyjnych nie mona
modyfikowa wczeniej wyznaczonego wielomianu Lagrangea. Wzr
interpolacyjny Newtona rwnowany wielomianowi Lagrangea usuwa
t niedogodno.
Niech x0, x1, ..., xn, bd wzami interpolacji, w ktrych wielomian
interpolacyjny przyjmuje odpowiednio wartoci y0, y1, ..., yn. Mona
wwczas zdefiniowa wyraenia zwane ilorazami rnicowymi:
- pierwszego rzdu:
y1 - y 0
[ x0 , x1 ] = ,
x1 x0
y 2 y1
[ x1 , x 2 ] = ,
x2 x1
.............
y n y n-1
[ x n-1 , x n ] = ,
xn x n-1
3. Interpolacja i aproksymacja 41

- drugiego rzdu (analogicznie):


[ x1 , x2 ] [ x0 , x1 ]
[ x0 , x1 , x2 ] = ,
x2 x0
[ x2 , x3 ] [ x1 , x2 ]
[ x1 , x2 , x3 ] = ,
x 3 x1
........................
[ x , x ] [ xn-2 , xn-1 ]
[ xn-2 , xn-1 , xn ] = n-1 n ,
x n x n -2
- k-tego rzdu:
[ xi+1 , xi+2 ,..., xi+k ] [ xi , xi+1 ,..., xi+k -1 ]
[ xi , xi+1 ,..., xi+k ] = dla k = 1, 2, ...
xi+k xi
oraz i = 0, 1, 2, ... .
Z ilorazw rnicowych tworzy si zazwyczaj tablic (tabela 3.1).

Tabela 3.1. Tablica ilorazw rnicowych

xi yi rzdu 1 rzdu 2 rzdu 3 rzdu 4 rzdu 5


x0 y0
[x0,x1]
x1 y1 [x0,x1,x2]
[x1,x2] [x0,x1,x2,x3]
x2 y2 [x1,x2,x3] [x0,x1,x2,x3,x4]
[x2,x3] [x1,x2,x3,x4] ...
x3 y3 [x2,x3,x4] [x1,x2,x3,x4,x5]
[x3,x4] [x2,x3,x4,x5]
x4 y4 [x3,x4,x5]
[x4,x5]
x5 y5

Twierdzenie 3.3.
Jeli y0, y1, ..., yn s wartociami wielomianu stopnia n, to iloraz
rnicowy rzdu n+1 jest tosamociowo rwny zeru tzn. :
[x, x0, x1, ... , xn] 0. (3.9)
42 Metody numeryczne w przykadach

Korzystajc z twierdzenia 3.3 oraz z definicji ilorazu rnicowego,


mona napisa:
[ xo , x1 ,..., xn ] [ x, x0 ,..., xn-1 ]
[ x, x0 , x1 ,..., xn ] = 0.
xn x
Wynika std, e:
[ x, x0 , x1 ,..., xn1 ] = [ x0 , x1 ,..., xn ]
a wic:
[ x0 , x1 ,..., xn-1 ] [ x, x0 ,..., xn-2 ]
[ x0 , x1 ,..., xn ] ,
xn-1 x
czyli:
[ x, x0 , x1 ,..., xn2 ] = [ x0 , x1 ,..., xn ] ( x xn1 ) [ x0 , x1 ,..., xn1 ] .

Korzystajc dalej analogicznie z definicji ilorazw rnicowych,


otrzymujemy wzr interpolacyjny Newtona z ilorazami rnicowymi:
y = Wn ( x) = y0 + [ x0 , x1 ]( x x0 )
+ [ x0 , x1 , x2 ]( x x0 )( x x1 ) ... (3.10)
+ [ x0 , x1 ,..., xn ]( x x0 )( x x1 ) ... ( x xn 1 ).
Naley zwrci uwag, i do wyznaczenia wzoru na wielomian
interpolacyjny Newtona wykorzystuje si tylko ilorazy rnicowe
zaczynajce si od wza x0, czyli te, ktre w tabeli 3.1 znajduj si jako
pierwsze w kadej kolumnie. Jednak obliczenie caej tabeli ilorazw jest
konieczne i nieuniknione.
Wzr interpolacyjny Newtona ma t wasno, e rozszerzenie zadania
interpolacji o dodatkowy wze sprowadza si do obliczenia i doczenia
do poprzednio wyznaczonego wielomianu dodatkowego skadnika.

Przykad 3.2.
Znale wielomian interpolacyjny Newtona, ktry w punktach:
-2, -1, 0, 2, 4 przyjmuje odpowiednio wartoci -1, 0, 5, 99, -55.
3. Interpolacja i aproksymacja 43

Najpierw dla n = 4 musimy obliczy tablic ilorazw rnicowych


tak, jak pokazana zostaa w tabeli 3.2.

Tabela 3.2. Przykadowa tablica ilorazw rnicowych dla przykadu 3.2

xi yi rzdu 1 rzdu 2 rzdu 3 rzdu 4


-2 -1
1
-1 0 2
5 3
0 5 14 -2
47 -9
2 99 -31
-77
4 -55

Obliczenie ilorazw rnicowych rzdu 1-go ma posta:


[ ] ,
[ ] ,
[ ] ,
[ ] .

Na podstawie ilorazw rzdu 1-go i wartoci wzw moemy teraz


obliczy ilorazy rnicowe rzdu 2-go:
[ ] [ ]
[ ] ,
[ ] [ ]
[ ] ,
[ ] [ ]
[ ] .

W dalszej kolejnoci musimy obliczy ilorazy rnicowe rzdu 3-go:


[ ] [ ]
[ ] ,
[ ] [ ]
[ ] .
44 Metody numeryczne w przykadach

a nastpnie rzdu 4-go:


[ ] [ ]
[ ] .

Dla n=4 wielomian interpolacyjny Newtona ma posta ze wzoru


(3.10):
[ ] [ ]
[ ]
[ ]
A zatem otrzymujemy wielomian o wspczynnikach:

Przykad 3.3.
Wyznacz przyblion warto funkcji f(x) stosujc interpolacj Newtona
w punkcie x=3. Wzy interpolacji to: -4, -3, -1, 0, 2, 4 a wartoci funkcji
w tych punktach wynosz odpowiednio: 2, -1, -37, -58, 464, -3382.

Ilorazy rnicowe maj wartoci jak pokazano w tabeli 3.3.

Wielomian interpolacyjny Newtona ma posta:


3. Interpolacja i aproksymacja 45

Przyblion warto funkcji w punkcie x=3 moemy obliczy stosujc


otrzymany wielomian, gdy 3[-4,4] i wynosi ona:

Tabela 3.3. Tablica ilorazw rnicowych dla przykadu 3.3

xi yi rzdu 1 rzdu 2 rzdu 3 rzdu 4 rzdu 5


-4 2
-3
-3 -1 -5
-18 1
-1 -37 -1 3
-21 19 -3
0 -58 94 -21
261 -128
2 464 -546
-1923
4 -3382

3.3. Interpolacja trygonometryczna


Interpolacj trygonometryczn stosuje si do wyznaczania funkcji
okresowych, czsto sinusoidalnych, np. funkcji opisujcych sygnay
elektryczne lub drgania w mechanice.
Zakadamy, e dana jest funkcja f zmiennej rzeczywistej o wartociach
zespolonych, okresowa o okresie 2, czyli dla kadego x:
f ( x 2 ) f ( x) .
Jeli funkcja g byaby funkcj okresow o okresie t, tzn. dla kadego y:
g( y t) g( y) ,
2
to dokonujc podstawienia x y otrzymamy funkcj okresow:
t
xt
f ( x ) g o okresie 2.
2
46 Metody numeryczne w przykadach

Mona wic, bez zmniejszenia oglnoci, rozpatrywa tylko funkcje


o okresie 2.

Zadanie interpolacji trygonometrycznej polega na znalezieniu, dla


danej funkcji f, wielomianu trygonometrycznego postaci:
n n
Fn ( x ) cm e jmx
cm (cos(mx) jsin(mx)), (3.11)
m 0 m 0

gdzie j 1 . Wielomian ten w n+1 rnych punktach xk, k=0, 1, ..., n,


xkxl dla k l, z przedziau (0,2 przyjmuje te same wartoci, co
funkcja f. Tzn. dla k=0,1,...,n:
Fn ( xk ) f ( xk ) . (3.12)
Twierdzenie 3.4.
Zadanie interpolacji trygonometrycznej ma dokadnie jedno rozwizanie.

Warunki interpolacji mona zapisa w postaci ukadu n+1 rwna


liniowych z n +1 niewiadomymi c0, c1, ..., cn :
n

c
m 0
m z km f ( x k ), dla k = 0, 1, ..., n,
jxk
gdzie zk = e .
Macierz tego ukadu jest macierz Vandermonde'a i jest nieosobliwa,
gdy jej wyznacznik (3.4) nie zeruje si na mocy zaoenia, e wzy xk s
rne. Zatem zadanie interpolacyjne ma jednoznaczne rozwizanie.

Potrzeba wyznaczania wspczynnikw wielomianu interpolacyjnego


funkcji f opartego na dowolnych wzach pojawia si w praktyce bardzo
rzadko. Z tego powodu ograniczymy si tylko do przypadku wzw
rwnoodlegych:
2k
xk , k = 0, 1, ..., n. (3.13)
n +1
Przy tym zaoeniu rozwizanie zadania interpolacyjnego upraszcza
si w istotny sposb.
3. Interpolacja i aproksymacja 47

Funkcje ejmx (m=0, 1, ..., n) tworz ukad ortogonalny w sensie


iloczynu skalarnego:
n
( f , g ) f ( xk ) g ( xk ) , (3.14)
k 0

poniewa:
n n 2k
j ( l m )
jlx
(e , e jmx
) e jlxk
e jmxk
e n 1

k 0 k 0

e j ( l m ) 2 1 (3.15)
2
0 dla l m,
e j ( l m ) n 1 1

n 1 dla l m.
Z tej wasnoci wynika kolejne twierdzenie.
Twierdzenie 3.5.
Wspczynniki wielomianu trygonometrycznego (3.11) interpolujcego
funkcj f, opartego na wzach (3.13) s rwne:
( f , e jmx ) 1 n
cm
n 1
f ( xk )e jmxk .
n 1 k 0
(3.16)

Z zaoenia (3.12) wynikaj rwnoci:


n n
( Fn , e jmx ) = Fn ( xk )e - jmxk f ( xk )e - jmxk ( f , e jmx ) ,
k=0 k 0

a z wasnoci iloczynu skalarnego oraz ze wzoru (3.15) otrzymujemy:


n n
( Fn , e jmx ) = ( cl e jlx , e jmx ) = cl (e jlx , e jmx ) = (n + 1)cm .
l =0 l =0
Wspczynniki cm okrelone wzorem (3.16) s rwne wspczynnikom
rozwinicia Fouriera funkcji f wzgldem iloczynu skalarnego (3.14). Std
zadanie wyznaczania wspczynnikw wielomianu trygonometrycznego
interpolujcego funkcj f nazywane jest dyskretn analiz Fouriera
[1,2].
Wielomian trygonometryczny stosuje si czsto w postaci (3.17),
szczeglnie przydatnej w przypadku interpolacji funkcji o wartociach
rzeczywistych.
48 Metody numeryczne w przykadach

Twierdzenie 3.6.
Trygonometryczny wielomian interpolacyjny funkcji f, oparty na wzach
(3.13) moe by przedstawiony w nastpujcej postaci:
p
1 1
Fn ( x ) a0 (am cos mx bm sin mx) + a p1 cos( p + 1) x (3.17)
2 m 1 2
przy czym:
dla n parzystego p=0.5n;
dla n nieparzystego =1, p=0.5(n-1),
wspczynniki am oraz bm maj posta:
2 n
am f ( xk ) cos mxk ,
n 1 k 0
m 0,1,2,..., p,
(3.18)
2 n
bm f ( xk ) sin mxk ,
n 1 k 0
m 1,2,..., p.

Wielomian (3.17) jest trygonometrycznym odpowiednikiem wzoru


Lagrange'a.
Mona sprawdzi, e jeli f(x) jest funkcj parzyst, tzn. f(x)=f(-x), to
bm=0 dla kadego m.
Jeli natomiast f(x) jest funkcj nieparzyst tzn. f(x) = -f(-x), to am = 0
dla kadego m.

Istniej rwnie bardziej efektywne algorytmy obliczania


wspczynnikw wielomianu Fn(x), np. algorytm Goertzela czy algorytm
Reinscha [5].

Przykad 3.4.
Znale trygonometryczny wielomian interpolacyjny F4(x) przechodzcy
przez wzy interpolacji (3.13) i dla n = 4 przybliajcy funkcj dan
w postaci dyskretnych wartoci f0 = f1 = f2 =0, f3 = f4 =1.
Zgodnie ze wzorem (3.17) dla p=0.5, n = 2 mamy:
2
1
F4 ( x ) a0 ( a m cos mx bm sin mx) =
2 m 1

= 0.5a0 + a1cos x + b1 sin x + a 2 cos 2 x + b2 sin 2 x.


3. Interpolacja i aproksymacja 49

Wyznaczamy wzy interpolacji:


x0 = 0, x1 =2/5 x2 =4/5 x3 =6/5 x4 =8/5
za ze wzorw (3.18) otrzymujemy:
2 4
am f ( xk ) cos mxk ,m 0,1,2 ,
5 k 0
2 4
bm f ( xk ) sin mxk ,m 1,2 .
5 k 0
Zatem:
2 4 2 4
a0 f ( xk ) (1 1) 0.8,
5 k 0 5 5
4
2 2
a1 f ( xk ) cos xk ( 0.809 0.309) 0.200 ,
5 k 0 5
4
2 2
a2 f ( xk ) cos 2 xk (0.309 0.809) 0.200 ,
5 k 0 5
2 4 2
b1 f ( xk ) sin xk ( 0.558 0.951) 0.616 ,
5 k 0 5
4
2 2
b2 f ( xk ) sin 2 xk (0.951 0.588) 0.145 .
5 k 0 5
Ostatecznie:
F4(x) = 0.8 - 0.2 cos x - 0.616 sin x - 0.2 cos 2x + 0.145 sin 2x.
Mona sprawdzi, e:
F4(x0)=0, F4(x1)=1.00062, F4(x2)=0.99997, F4(x3)=0.00002,
F4(x4)=0.00621.
Ilustracja graficzna przykadu 3.4 (rys. 3.2) pokazuje, e funkcja
interpolacyjna jest funkcj okresow o okresie 2. Wartoci funkcji F4(x)
pokrywaj si w wzach interpolacji z wartociami danymi.
50 Metody numeryczne w przykadach
1.60

1.20

0.80

0.40

0.00

0.00 4.00 8.00 12.00

-0.40

Rys. 3.2. Wykres funkcji interpolacyjnej z przykadu 3.4

3.4. Funkcje sklejane


3.4.1. Okrelenie funkcji sklejanych
Niech w przedziale <a, b> danych bdzie (n+1) punktw x0 , x1,..., xn ,
przy czym a = x0 x1 ... xn1 xn = b. Punkty xi, i = 1, ..., n okrelaj
pewien podzia przedziau <a, b> na n podprzedziaw. Podzia ten
oznaczymy symbolem n.
Funkcj S(x)=S(x, n ) okrelon na przedziale <a, b> nazywamy
funkcj sklejan stopnia m (m 1), jeeli:
S(x) jest wielomianem stopnia co najwyej m na kadym
podprzedziale (xi, xi+1), i = 0, 1, ..., n-1,
S(x) i jej pochodne stopnia 1, 2, ..., m-1 s cige
w rozpatrywanych przedziaach.

Zbir wszystkich funkcji sklejanych stopnia m o wzach w punktach


xi oznaczymy Sm (n ). Jeli S(x)Sm (n), to na kadym przedziale
3. Interpolacja i aproksymacja 51

(xi, xi+1 ), i = 0, 1, ..., n funkcja S(x) jest wielomianem stopnia co


najwyej m:
S ( x ) ci, m x m cim1 x m1 ... ci ,1 x ci0 dla x (xi, xi+1). (3.19)

Mamy wic n(m+1) dowolnych staych ci j. danie cigoci


pochodnych rzdu 0, 1, ..., m-1 w kadym wle wewntrznym xi daje
m(n-1) warunkw. Tak wic funkcja S(x) zaley od:
n(m+1) - m(n-1) =n+m parametrw.
Dowolne funkcje bardzo czsto przyblia si funkcjami sklejanymi.
Wie si to z atwoci wyznaczania ich wartoci oraz ze zbienoci dla
licznych klas funkcji. W praktyce czsto stosuje si funkcje sklejane
stopnia trzeciego, ktre dla wielu zagadnie s wystarczajco gadkie,
a szybko ich zbienoci do funkcji aproksymowanej jest zadowalajca.

3.4.2. Interpolacyjne funkcje sklejane stopnia trzeciego


Funkcj S(x) S3(n) nazywamy interpolacyjn funkcj sklejan stopnia
trzeciego dla funkcji f(x), jeeli S(xi) = f(xi) = yi, i = 0, 1,..., n, n>1.
Funkcja S(x) stopnia trzeciego zaley od n+3 parametrw. Poniewa dane
s wartoci funkcji f(xi)=yi w n+1 punktach, to na interpolacyjne funkcje
sklejane stopnia trzeciego naley naoy dwa dodatkowe warunki:
S (a 0) 1 , S (b 0) 1 (3.20)
lub:
S (a 0) 2 , S (b 0) 2 , (3.21)
gdzie 1, 1, 2, 2 s ustalonymi liczbami rzeczywistymi.
Jeeli funkcja f(x) ma pochodne w punktach a, b i s one znane, to
mona je przyj jako liczby wystpujce po prawych stronach warunkw
(3.20) i (3.21).
Wyznaczymy interpolacyjn funkcj sklejan dla wzw dowolnie
rozoonych.
Oznaczmy:
Mj = S (xj), j = 0, 1, ..., n.
Zgodnie z okreleniem funkcji sklejanej trzeciego stopnia, pochodna
S (x) jest funkcj cig na przedziale <a, b> i liniow na podprzedziale
(xj-1, xj).
52 Metody numeryczne w przykadach

Mona wic przedstawi j w postaci:


xj x x j 1 x
S ( x ) M j 1 Mj , (3.22)
hj hj

przy czym x x j 1 , x j , h j x j x j 1 .
Cakujc stronami (3.22) otrzymujemy:
( x j x)2 ( x x j 1 ) 2
S ( x ) M j 1 Mj Aj ,
2h j 2h j

( x j x)3 ( x x j 1 ) 3
S ( x ) M j 1 Mj A j ( x x j 1 ) B j , (3.23)
6h j 6h j
gdzie Aj , Bj s staymi. Nakadajc na S(x) warunki interpolacji:
h 2j
S ( x j 1 ) M j 1 B j y j 1 ,
6
h 2j
S(x j ) M j Aj h j B j y j ,
6
wyznaczamy stae Aj i Bj:
h 2j
B j y j 1 M j 1 ,
6
(3.24)
y j y j 1 hj
Aj ( M j M j 1 ).
hj 6

damy aby pochodna S ( x) bya funkcj cig na <a, b>. W tym


celu obliczamy granice jednostronne:
hj hj y j y j 1
S ( x j 0) M j 1 Mj ,
6 3 hj
(3.25)
h j 1 h j 1 y j 1 y j
S ( x j 0) Mj M j 1
3 6 h j 1

i nakadamy warunek:
S ( x j 0) S ( x j 0) , j = 1, 2, ..., n-1. (3.26)
3. Interpolacja i aproksymacja 53

Po podstawieniu (3.25) do (3.26) otrzymujemy ukad (n-1) rwna:


hj h j h j 1 h j 1 y j 1 y j y j y j 1
M j 1 Mj M j 1 , (3.27)
6 3 6 h j 1 hj
przy czym j = 1, 2, ..., n-1.
Rwnania (3.27) mona zapisa w postaci:
j M j 1 2M j j M j 1 d j , j = 1, 2, ..., n-1, (3.28)

gdzie:
h j 1
j ,
h j h j 1
j 1 j,
6 y j 1 y j y j y j 1
dj 6[ x j 1 , x j , x j 1 ].
h j h j 1 hj h j 1

Jeeli Mj , j = 0, 1, ..., n speniaj powyszy ukad, to funkcja S(x)


okrelona wzorami (3.23) i (3.24) jest na kadym podprzedziale
x x j 1, x j , j = 1, 2, ..., n interpolacyjn funkcj sklejan stopnia
trzeciego. Do ukadu (3.28) naley doczy jeszcze dwa rwnania,
wynikajce ze spenienia przez funkcj S(x) jednego z dodatkowych
warunkw (3.20) lub (3.21). Rwnania te dla warunkw (3.20) maj
posta:
2M 0 M1 d 0 , M n1 2M n d n ,
gdzie:
6 y1 y0 6 y yn 1
d0 1 , d n ( 1 n ).
h1 h1 hn hn
za dla warunkw (3.21) s postaci:
M 0 2, ,M n 2 .
54 Metody numeryczne w przykadach

Ukad rwna zapisany w postaci macierzowej ma posta:


2 1 0 ... 0 M 0 d 0
2 1 ... 0 M d
1 1 1
0 2 2 ... 0
= . (3.29)
... ...
0 ... ... 2
n 1 M n 1 d n 1

0 ... ... 1 2 M n d n

Macierz wspczynnikw ukadu jest macierz diagonaln o elemen-


tach na gwnej przektnej znacznie przewyszajcych co do moduu
sum moduw pozostaych elementw wiersza. Std wynika, e ukad
(3.29) ma jednoznaczne rozwizanie [4]. Istnieje zatem jedna funkcja
interpolujca stopnia trzeciego, speniajca jeden z warunkw (3.20) lub
(3.21).
Do wyznaczania interpolacyjnych funkcji sklejanych o przedstawionej
wyej postaci, s niezbdne nastpujce dane: wzy xi , wartoci drugiej
pochodnej funkcji sklejanej Mj = S (x) oraz wartoci funkcji yi = f(xi ).
Czsto wygodnie jest przedstawi poszukiwan funkcj S(x) w postaci
kombinacji liniowej elementw bazy przestrzeni Sm ( m ) .
Wyznaczymy baz przestrzeni funkcji S(x) stopnia trzeciego z wzami
ba
rwnoodlegymi xi x0 ih , h , i 0,1,.., n . Dodatkowo przez
n
x3 , x2 , x1 , xn1 , xn2 , xn3 oznaczmy punkty xi x0 ih dla
i = -3, -2, -1, n+1, n+2, n+3 i okrelmy funkcje i3 ( x ) ,
i = -1, 0, 1, ..., n, n+1 za pomoc wzoru:
3j ( x)
( x x j 2 ) 3 , x x j 2; x j 1 ,
3
h 3h ( x x j 1 ) 3h( x x j 1 ) 3( x x j 1 ) , x x j 1; ; x j ,
2 2 3

1
3 h 3 3h 2 ( x j 1 x) 3h( x j 1 x) 2 3( x j 1 x) 3 , x x j ; x j 1 ,
h
( x j 2 x) , x x j 1 : x j 2 ,
3

0 dla pozostalych x R. 3.30



3. Interpolacja i aproksymacja 55

Funkcje te s klasy C2. W tablicy 3.4 podane s wartoci funkcji


3j ( x ) oraz jej pierwszej i drugiej pochodnej w punktach xk dla
k = j-2, j-1, j, j+1, j+2. Poza przedziaem <xj-2 , xj+2 > funkcja ta jest
tosamociowo rwna zeru.

Tabela 3.4. Wartoci funkcji 3j ( x) i jej pochodnych

x j 2 x j 1 xj x j 1 x j 2
( x)
3
j
0 1 4 1 0
( ( x ) )
3
j
0 3/h 0 -3/h 0
2 2 2
( 3j ( x ) ) 0 3/h -12/h 6/h 0

Twierdzenie 3.7.
Funkcje i3 ( x) , i = -1, 0, 1, ..., n+1, okrelone na przedziale <a, b>
stanowi baz przestrzeni funkcji sklejanych trzeciego stopnia. Kad
funkcj S(x) mona przedstawi w postaci kombinacji liniowej:
n 1
S ( x ) ci i3 ( x ),a x b , (3.31)
i 1

gdzie i3 ( x) s okrelone wzorem (3.30), ci s liczbami rzeczywistymi.


W przypadku wzw rwnoodlegych szukamy interpolacyjnej
funkcji sklejanej w postaci kombinacji liniowej (3.31). Na podstawie
tablicy 3.2 mona stwierdzi, e stae ci musz spenia ukad (n+1)
rwna:
ci 1 4ci ci 1 yi , i = 0, 1, ..., n. (3.32)
Jeli funkcja spenia dodatkowe warunki (3.20), to dodatkowe dwa
rwnania bd nastpujce:
h h
c1 c1 1 cn1 cn1 1.
3 3
56 Metody numeryczne w przykadach

Po wyeliminowaniu z ukadu wspczynnikw c-1 oraz cn+1, pozostae


wspczynniki cj , j = 0, 1, ..., n rozwinicia bd rozwizaniem ukadu:
4 2 0 0 0 0 c0 y 0 h1 / 3
1 4 1 0 0 0 c1 y1

0 1 4 ... 0 0 ... ...
, (3.33)
0 0 ... ... ... 0 ... ...
0 0 0 1 4 1cn 1 y n 1

0 0 0 0 2 4 cn y n h1 / 3

ktrego macierz wspczynnikw jest macierz trjdiagonaln


o dominujcych elementach na gwnej przektnej. Ukad ma wic
jednoznaczne rozwizanie.

Przykad 3.5.
Majc dane wzy interpolacyjne jak w tabeli 3.5, znale szecienn
funkcj sklejan.

Tabela 3.5. Dane do przykadu 3.5

i 0 1 2 3
xi 1 3 5 8
yi 2 4 7 9

Korzystajc z programu opracowanego na podstawie rozwaa


z biecego rozdziau, otrzymuje si nastpujc funkcj sklejan:
a) w przedziale < x0 , x1 > = < 1, 3 >:
S(x) = 2.00+0.84(x-1.00)+0.00(x-1.00)2+0.04(x-1.00)3
b) w przedziale < x1 , x2 > = < 3, 5 > :
S(x) = 4.00+1.33(x-3.00)+0.25(x-3.00)2-0.08(x-3.00)3
c) w przedziale < x2 , x3 > = < 5, 8 >:
S(x) = 7.00+1.35(x-5.00)-0.24(x-5.00)2+0.00(x-5.00)3

Przykad 3.6.
Zastosowa interpolacj funkcj sklejan trzeciego stopnia do
aproksymacji charakterystyki prdowo-napiciowej diody tunelowej,
3. Interpolacja i aproksymacja 57

ktrej charakterystyka przedstawiona jest w tabeli 3.6. Rol zmiennej x


peni warto napicia U a rol y warto natenia prdu I. Graficzne
wyniki interpolacji wielomianow funkcj sklejan prezentuje rys. 3.3.

Tabela 3.4. Charakterystyka diody tunelowej U=f(I)

Lp. U[V] I[mA] Lp. U[V] I[mA]


1 0.000 0.0 7 0.164 7.0
2 0.020 4.7 8 0.196 6.0
3 0.036 7.7 9 0.234 8.0
4 0.060 10.5 10 0.264 12.0
5 0.094 11.5 11 0.285 16.0
6 0.133 10.0 12 0.300 19.0

Rys. 3.3. Wyniki interpolacji funkcj sklejan dla danych z przykadu 3.6.
58 Metody numeryczne w przykadach

3.5. Aproksymacja
3.5.1. Sformuowanie zagadnienia aproksymacji
Zadanie aproksymacyjne moe by sformuowane bardzo rnie.
W klasycznym przypadku dla danej funkcji f spord funkcji ustalonej
klasy poszukuje si funkcji F (te ustalonej klasy), ktra w okrelonym
sensie najlepiej przyblia f.
Innym zadaniem jest wyznaczenie, moliwie niskim kosztem,
przyblienia F funkcji f z zadan dokadnoci. Mona rwnie stawia
problem aproksymacji nie jednej, ale caej klasy funkcji, funkcjami innej
klasy. Rozwizania tak rnie postawionych zada s oczywicie rne,
nie istnieje wic jedna optymalna aproksymacja [1, 4, 5, 8, 9, 10].
Funkcj f(x), znan lub okrelon tablic wartoci, bdziemy
aproksymowa (zastpowa) inn funkcj F(x), zwan funkcj
aproksymujc lub przyblieniem funkcji f(x). Oczywicie przyblienie
takie powoduje powstanie bdw aproksymacji.
Niech f(x) bdzie funkcj, ktr chcemy aproksymowa, X - pewn
przestrzeni liniow unormowan (tzn. okrelona jest w niej funkcja
nazywana norm) za Xm+1 (m+1)-wymiarow podprzestrzeni liniow
przestrzeni X.
Aproksymacja funkcji f(x) polega na wyznaczeniu takich
wspczynnikw a0, a1, a2, ..., am funkcji:
F ( x) a0 0 ( x) a11 ( x) ... am m ( x) ,
aby speniaa ona pewne warunki (np. minimalizowaa norm rnicy
||f(x) - F(x)||), przy czym 0, 1, ..., m s funkcjami bazowymi m+1
wymiarowej podprzestrzeni liniowej Xm+1.
Wybr odpowiedniej podprzestrzeni Xm i zwizanej z ni bazy (funkcji
bazowych k (x)) jest zagadnieniem istotnym ze wzgldu na numeryczny
koszt rozwizania i bdy zaokrgle.
Czsto obieran podprzestrzeni Xm+1 jest:
podprzestrze funkcji trygonometrycznych z baz:
1, sin x, cos x, sin 2x, cos 2x, ..., sin kx, cos kx,
szczeglnie przydatna, gdy aproksymowana funkcja f(x) jest
funkcj okresow;
podprzestrze wielomianw stopnia co najwyej m z baz
jednomianw:
1, x, x2, x3, ..., xm.
3. Interpolacja i aproksymacja 59

Mimo prostoty dziaa na wielomianach, baza ta ma istotn wad


- wraliwo na bdy zaokrgle; kumulujce si bdy
w przypadku dziaa na maych oraz na niewiele rnicych si
liczbach mog cakowicie znieksztaci obliczenia.
podprzestrze wielomianw stopnia co najwyej m, okrelonych
na przedziale <-1, 1> z baz wielomianw Czebyszewa opisanych
dalej wzorem (3.65):
T0(x), T1(x), T2(x), ..., Tm(x),
czy te z baz wielomianw Legendre'a wzr (3.56):
L0(x), L1(x), L2(x), ..., Lm(x).
Zagadnienie aproksymacji przy wybranych funkcjach bazowych k(x)
sprowadza si do jednoznacznego wyznaczenia wartoci
wspczynnikw ak, zapewniajcych minimum normy ||f(x) - F(x)||, czyli:
||f(x) - a00 x a11 x ... amm x || .
Norma jest tu rozumiana w sensie miary odlegoci midzy dwoma
funkcjami. Najczciej stosowane normy w aproksymacji to:
norma jednostajna (Czebyszewa) (wzr 3.34),
norma L2 (wzr 3.35),
norma redniokwadratowa (wzr 3.36).

W zalenoci od stosowanej normy mwimy odpowiednio


o aproksymacji jednostajnej (Czebyszewa), aproksymacji z norm L2,
aproksymacji redniokwadratowej.

Aproksymacja w przypadku normy Czebyszewa


Dla funkcji f(x) okrelonej na przedziale <a, b> poszukujemy funkcji F(x)
zapewniajcej najmniejsze maksimum rnicy midzy F(x) a f(x) na
caym przedziale < a, b >:
F x f x sup F x f x . (3.34)
xa ,b

Aproksymacja taka nazywa si aproksymacj jednostajn. Polega ona


na takim wyznaczeniu funkcji F(x), aby najwiksza odlego jej wartoci
od wartoci funkcji danej f(x) bya jak najmniejsza (rys. 3.4). Odlego ta
okrela jednoczenie maksymalny bd bezwzgldny z jakim funkcja F(x)
przyblia dan funkcj f(x).
60 Metody numeryczne w przykadach

y = f(x)
- funkcja dana tablic wartoci - f(x)
f(x) - funkcja aproksymujca - F(x)
F(x)

Rys. 3.4. Interpretacja graficzna aproksymacji jednostajnej

Aproksymacja w przypadku normy L2 z wag


Dla funkcji f(x) okrelonej i cigej na przedziale <a, b> poszukujemy
minimum caki:
b
F x f x wx F x f x dx ,
2
(3.35)
a

gdzie w(x) jest cig nieujemn funkcj wagow, dodatni poza zbiorem
miary zero.
Natomiast dla funkcji f(xi), danej na dyskretnym zbiorze argumentw,
poszukujemy minimum sumy (metoda najmniejszych kwadratw):
n
F x f x wxi F xi f xi ,
2 2
(3.36)
i 0

przy czym w(xi) jest funkcj wagow tak, e w(xi) 0 dla i = 0, 1, ..., n.

Aproksymacja taka nazywa si aproksymacj redniokwadratow.


Polega ona na takim wyznaczeniu funkcji F(x), aby suma kwadratw
odlegoci jej wartoci od wartoci danej funkcji f(x) bya jak najmniejsza
(rys. 3.5).

Aproksymacja redniokwadratowa znacznie lepiej od aproksymacji


jednostajnej eliminuje due bdy przypadkowe (np. wynikajce
z pomyek przy pomiarach).
3. Interpolacja i aproksymacja 61

y = f(x)

f(x) - funkcja dana tablic wartoci - f(x)


- funkcja aproksymujca - F(x)
F(x)

Rys. 3.5. Interpretacja graficzna aproksymacji redniokwadratowej

3.5.2. Aproksymacja redniokwadratowa


Niech bdzie dana funkcja y = f(x), ktra na pewnym zbiorze X punktw:
x0, x1, x2, ..., xn przyjmuje wartoci y0, y1, y2, ..., yn . Wartoci te mog
by przyblione, obarczone pewnymi bdami (np. bdami obserwacji
pomiarowych). Naley znale funkcj F(x) mao odchylajc si od
danej funkcji f(x) zarwno midzy wzami, jak i w wzach
x0, x1, x2, ..., xn, ktra przybliaaby dan funkcj tak, aby j wygadzi.
Niech j (x), j = 0, 1, 2, ..., m, bdzie ukadem funkcji bazowych
podprzestrzeni Xm. Poszukujemy wielomianu uoglnionego postaci:
F x a0 0 x a11 x ... am m x (3.37)
lub:
m
F x a i i x , (3.38)
i 0

bdcego najlepszym przyblieniem redniokwadratowym funkcji f(x),


przy czym wspczynniki ai s tak okrelone, aby wyraenie (3.36) byo
minimalne.
Oznaczmy:
H a0 , a1 , a2 ,..., am
2

wx j f x j ai i x j wx j R 2j ,
n m n (3.39)
j 0 i 0 j 0
62 Metody numeryczne w przykadach

gdzie w(x) jest ustalon z gry funkcj wagow tak, e w(xi) 0 dla
i = 0, 1, 2, ..., n, za Ri jest odchyleniem w punkcie xi . Najczciej
przyjmuje si, e funkcja wagowa w(x) ma sta warto, rwn
tosamociowo jednoci, mona jednak dobra inn funkcj wagow (np.
jeeli wartoci funkcji f(x) w pewnych punktach znane s z mniejszym
bdem, to w celu otrzymania lepszego przyblienia przyjmuje si w tych
punktach wiksze wartoci funkcji wagowej).
W celu znalezienia takich wspczynnikw ak, dla ktrych funkcja H
osiga minimum, obliczamy pochodne czstkowe wzgldem zmiennych
ak i przyrwnujemy je do zera:
H
0 k 0,1,2,..., m .
ak
Otrzymujemy ukad m+1 rwna z m+1 niewiadomymi ak,
k = 0, 1, 2, ..., m:
H
2 wx j f x j ai i x j k x j 0 ,
n m
(3.40)
ak j 0 i 0
zwany ukadem normalnym. Poniewa funkcje j (x) tworz baz
przestrzeni Xm, zatem wyznacznik ukadu (3.40) jest rny od zera
i jednoznaczne rozwizanie tego ukadu zapewnia minimum funkcji H.
W zapisie macierzowym ukad (3.40) przyjmuje posta:
DTDA=DTf, (3.41)
gdzie:

0 x0 ...... ...... m x0 a0 f x 0

x ...... m x1 a1 f x1
D 0 1
......
, A . , f
............... ...... ...... .............. : . .
. :.
0 xn ...... ...... m x n a m f x n

Macierz wspczynnikw ukadu jest macierz symetryczn i dodatnio
okrelon, co zapewnia jednoznaczno rozwizania.
Ukad (3.40) lub (3.41) powstaje z rwnania (3.37) po podstawieniu
wartoci punktw wzowych xi , i = 0, 1, 2, ..., n. Otrzymujemy wwczas
nadokrelony ukad n+1 rwna z m+1 niewiadomymi DA = f, z ktrego
po pomnoeniu (lewostronnie) przez DT dochodzi si do (3.41).
3. Interpolacja i aproksymacja 63

Jeeli za funkcje bazowe j(x) przyjmuje si cig jednomianw


1, x, x2, x3, ..., xm, to wzr (3.40) mona zapisa w postaci:


n m


j 0
f x j
i 0
ai x ij x kj 0 k 0,1,2,..., m ,

lub po przeksztaceniu:
n m n

j 0
f ( x j ) x kj ai xij k
i 0 j 0
k = 0, 1, 2, ..., m. (3.42)

Oznaczajc:

gik xij k , k f x j x kj ,
n n

j 0 j 0

otrzymujemy ukad normalny (3.40) postaci:


m

a g
i 0
i ik k k 0,1,2,..., m (3.43)

lub:
a0 n 1 a1 x j ... am x mj f x j

a0 x j a1 x 2j ... a m x mj1 f x x j j

a0 x 2j a1 x 3j ... a m x mj2 f x x j
2
j
.
............ ................ ... ................. .... .................
a0 x j a1 x mj1
m
... a m x 2j m f x j x mj
gdzie wszystkie sumowania wykonywane s od j=0 do j=n.

Mona wykaza, e jeeli punkty x0 , x1 , x2 , ..., xn s rne i m n, to


wyznacznik ukadu (3.43) jest rny od zera, a wic ukad ten ma
jednoznaczne rozwizanie. Jeeli m = n, to wielomian aproksymacyjny
F(x) pokrywa si z wielomianem interpolacyjnym dla punktw
x0 , x1 , x2 , ..., xn i wwczas H=0. W praktyce stopie wielomianu m jest
i powinien by znacznie niszy od liczby punktw n, wtedy bowiem
korzystamy z duej iloci informacji (np. wynikw pomiarw) uzyskujc
rwnoczenie prostsze (niskiego stopnia) funkcje aproksymujce.
64 Metody numeryczne w przykadach

Wielomian aproksymujcy dan funkcj f(x) w sensie najmniejszych


kwadratw powinien mie stopie na tyle wysoki, aby dostatecznie
przyblia aproksymowan funkcj, a jednoczenie stopie ten powinien
by wystarczajco niski, aby wielomian ten wygadza losowe bdy
wynikajce np. z pomiarw. W praktyce stopie wielomianu okrelamy
a priori na podstawie analizy modelu fizycznego badanego zjawiska bd
te przeprowadzamy aproksymacj kolejno wielomianami coraz to
wyszych stopni i obliczamy odchylenia funkcji H.
Dla m 6 ukad (3.43) jest le uwarunkowany, wskutek czego
otrzymane wyniki oblicze mog by tak bardzo zaburzone, i nie nadaj
si do praktycznego wykorzystania.

Niech xi bd rozoone w jednakowych odstpach w przedziale


< 0, 1 >. Liczby gik wystpujce we wzorze (3.43) mona dla duych m
przybliy nastpujco:
m 1
m
gik xij k m xi k dx , i, k = 0, 1, 2, ..., m.
j 1 0
i k 1
Macierz wspczynnikw ukadu (3.43) ma posta:
1 1
1 2
...
m 1
1 1 1
A 2 ...
m2 .

3
........ ........ ... ........
1 1
...
1
m 1 m2 2m 1
Elementy macierzy odwrotnej G-1 s rzdu 31012, co powoduje bdy
zaokrgle tak due, e wyniki praktycznie trac sens. Zatem stosowanie
aproksymacji z funkcjami bazowymi typu jednomianw xi ma sens
jedynie dla maych m (m < 6).
W celu aproksymacji danej funkcji wielomianami wyszych stopni
naley:
zastosowa specjaln metod rozwizywania ukadw rwna,
ktrych macierz wspczynnikw ma wyznacznik bliski zeru;
zwikszy precyzj (dokadno) wykonywania oblicze;
zastpi baz jednomianw xi baz zoon z wielomianw
ortogonalnych.
3. Interpolacja i aproksymacja 65

Przykad 3.7.
W tabeli 3.5 dane s wyniki pewnych pomiarw. Metod najmniejszych
kwadratw znale funkcj liniow, ktra najlepiej aproksymuje podane
dane.

Tabela 3.5. Wyniki pomiarw do przykadu 3.7

j 0 1 2 3 4 5 6 7
xj 1 3 4 6 8 9 11 14
f(xj) 1 2 4 4 5 7 8 9

W celu znalezienia funkcji liniowej, aproksymujcej dane z tabeli,


naley wyznaczy funkcj postaci (3.37):
1
F ( x ) y ( x ) a0 0 ( x ) a11 ( x ) a0 a1 x ai i ( x j )
i 0

dla j=0,1,...,7 oraz 0 ( x ) x , 1 ( x ) x .


0 1

Okrelajc funkcj H, zgodnie z (3.39), otrzymujemy:


H (a0 , a1 ) f ( x j ) F ( x j ) 2 f ( x j ) a0 0 ( x j ) a11 ( x j ) 2
7 7

j 0 j 0

f ( x j ) a0 a1 x j 2
7

j 0

W celu wyznaczenia szukanych wspczynnikw a0 , a1 obliczamy


pochodne czstkowe funkcji H wzgldem zmiennych a k oraz
przyrwnujemy je (patrz wzr 3.40) do zera:
H 7
m 1

2 f ( x j ) ai i ( x j ) k ( x j ) 0
ak j 0 i 0
W ten sposb otrzymujemy ukad dwch rwna liniowych z dwiema
niewiadomymi:
H 7
m 1


a0
2
j 0
f ( x j )
i 0
ai i ( x j ) 0 ( x j ) 0

.
H 2 f ( x j ) ai i ( x j ) 1( x j ) 0
7 m 1

a1
j 0 i 0
66 Metody numeryczne w przykadach

Podstawiajc do powyszego ukadu 0 ( x ) x 0 1 , 1 ( x ) x oraz


dzielc obustronnie oba rwnania przez (-2) mamy:
7

f ( x j ) a0 a1 x j 1 0
j 0
7 .

f ( x j ) a0 a1 x j x j 0
j 0
Podstawiajc nastpnie za xj i f(xj), j=0,...,7 wartoci z tabeli 3.5
pierwsze rwnanie powyszego ukadu przyjmie posta:
(1 a0 1 a1 ) (2 a0 3 a1 ) (4 a0 4 a1 ) (4 a0 6 a1 )
(5 a0 8 a1 ) (7 a0 9 a1 ) (8 a0 11 a1 ) (9 a0 14 a1 ) 0

a drugie:
(1 a0 1 a1 ) 1 ( 2 a0 3 a1 ) 3 (4 a0 4 a1 ) 4
( 4 a0 6 a1 ) 6 (5 a0 8 a1 ) 8 (7 a0 9 a1 ) 9
(8 a0 11 a1 ) 11 (9 a0 14 a1 ) 14 0

Po dalszych uproszczeniach otrzymujemy:


40 8 a0 56 a1 0

364 56a0 524 a1 0
8 a0 56 a1 40

56a0 524 a1 364
a0 7 a1 5
.
14a0 131 a1 91

Rozwizaniem ukadu jest:


6
a0 11
7
.
a1
11
6 7
Poszukiwana funkcja F(x) ma wobec tego posta: F ( x ) x.
11 11
Graficzn reprezentacj przykadu demonstruje rys. 3.6.
3. Interpolacja i aproksymacja 67

Rys. 3.6. Ilustracja graficzna przykadu 3.7

Przykad 3.8.
Dla danych z tabeli 3.6 znale metod najmniejszych kwadratw funkcj
postaci:
.

Tabela 3.6. Dane do przykadu 3.8

xi 1 4 9 25 36
yi -6 -9 -12 -18 -21

Po sprowadzeniu problemu do postaci liniowej:


, gdzie dla i=0,1,4,
mona zastosowa metod dla funkcji liniowej czyli mona od pocztku
wyprowadza funkcj H, liczy jej pochodne i przyrwnywa je do zera
albo po prostu wykorzysta wzr (3.43) dla m=1 (liczba naszych funkcji
bazowych) oraz n=4 (liczba wzw aproksymacji):

{ .
( )
68 Metody numeryczne w przykadach

Nastepnie naley policzy odpowiednie sumy wystpujce w tym


ukadzie rwna:
,

( ) ( ) ,
( ) ,
( ) ( )
.
Ostatecznie otrzymujemy ukd rwna postaci:
5a0 17a1 66
.
17a0 75 a1 276
Rozwizaniem ukadu s liczby a0 = 3 i a1 = 3 czyli szukana funkcja
ma posta:
.

Przykad 3.9.
Dla danych dowiadczalnych z tabeli 3.7 znale metod najmniejszych
kwadratw krzyw typu hiperboli.

Tabela 3.7. Dane do przykadu 3.9

xi 2,5 2,7 2,9 3,1 3,3 3,5 3,7 3,9


yi 1,21 1,29 1,32 1,34 1,39 1,45 1,47 1,55

Poszukujemy funkcji aproksymujcych typu:


a) y = a/x + b,
b) y = 1/(ax+b),
c) y = x/(ax+b).

W kadym przypadku zadanie sprowadza si do problemu liniowego.


Wyniki oblicze przedstawione s na rys. 3.7.
3. Interpolacja i aproksymacja 69
1 .6 0

y=x/(ax+b)
y y=1/(ax+b)

y=a/x+b
1 .4 0

1 .2 0

punkty pomiarowe

1 .0 0 x
2 .4 0 2. 80 3. 20 3 .6 0 4 .0 0

Rys. 3.7. Ilustracja graficzna do przykadu 3.9.

W wielu zagadnieniach technicznych czsto stosowan funkcj


przybliajc jest sinus hiperboliczny lub cosinus hiperboliczny, ktre
definiujemy nastpujco:

, .
Przykadowo n par punktw pomiarowych indukcji magnetycznej
i natenia pola elektromagnetycznego (B1,H1), (B2,H2), ... (Bn,Hn) tworzy
dowiadczaln krzyw magnesowania. Stosujc metod najmniejszych
kwadratw mona znale funkcj:
H = a0 sh(a1B),
tak, aby zminimalizowa wyraenie:
n
S a0 , a1 wi H i a0sh(a1 Bi ) ,
2
(3.44)
i 1

gdzie wi jest wag statystyczn i - tego punktu, i = 1,2,...n.


70 Metody numeryczne w przykadach

W tym celu naley wyznaczy pochodne czstkowe funkcji S


wzgldem a0 i a1 oraz przyrwna je do zera. Otrzymamy ukad rwna:
S n n

a
0 i 1
i0 1 i
w a sh 2
( a B )
i 1
wi H i sh(a1 Bi ) 0
. (3.45)
S w H B ch( a B ) a
n n

a1 i 1
i i i 1 i 0 wi Bi sh(a1 Bi )ch( a1 Bi ) 0
i 1

Z pierwszego z rwna (3.45) wyznaczamy wspczynnik a0:


n

w H sh(a B )
i i 1 i
a0 i 1
n
, (3.46)
w sh
i 1
i
2
( a1 Bi )

i po wstawieniu do drugiego rwnania otrzymujemy rwnanie


z niewiadom a1:
n n
wi H i Bi ch( a1 Bi ) wi sh 2 ( a1 Bi )
i 1 i 1
(3.47)
n n
wi H i sh(a1 Bi ) wi Bi sh(a1 Bi )ch( a1 Bi ) 0.
i 1 i 1
Rwnanie (3.47) rozwizuje si stosujc jedn z metod omwionych
w rozdziale 4.
Zamiast minimalizowania bdu bezwzgldnego (3.44) mona
minimalizowa bd wzgldny:

w H a0sh(a1 Bi )
2
n
S wzgl a0 , a1 i i . (3.48)
i 1 Hi
Podobnie jak w przypadku bdu bezwzgldnego, uzyskuje si
rwnanie z niewiadom a1.
W przypadku aproksymacji redniokwadratowej funkcji f(x) cigej na
przedziale <a, b> poszukuje si funkcji:
F x a00 x a11 x ... amm x ,

gdzie 0, 1, ..., m s elementami bazy pewnej podprzestrzeni funkcji


cakowalnych z kwadratem na przedziale <a, b>.
3. Interpolacja i aproksymacja 71

Aproksymacja redniokwadratowa funkcji cigych polega na


znalezieniu takiego cigu wspczynnikw ai (i = 0, 1, 2, ..., m), aby
otrzyma minimum normy (3.35). W celu rozwizania zadania naley
utworzy ukad m+1 rwna z m+1 niewiadomymi ai :
H
0, k 0,1,2,..., m , gdzie:
ak
b
H ( a0 , a1 ,..., a m ) wx F x f x dx
2

a
2
m
b
wx ai i x f x dx.
a i 0
Rozwizanie tego ukadu wyznaczy poszukiwan funkcj
aproksymujc.

Przykad 3.10.
Znale aproksymacj dowiadczalnej krzywej magnesowania obwodu
magnetycznego dla danych zestawionych w tabeli 3.8, za pomoc funkcji
sinus hiperboliczny.

Tabela 3.8. Dane wejciowe do aproksymacji krzywej magnesowania

Lp. B[T] H[A/m] Waga Lp. B[T] H[A/m] Waga


1 0.00 0 1 10 1.90 4000 1
2 0.80 40 1 11 2.00 7500 1
3 1.00 135 1 12 2.10 15200 1
4 1.20 340 1 13 2.15 20000 1
5 1.40 720 1 14 2.20 26200 1
6 1.50 1000 1 15 2.25 33000 1
7 1.60 1320 1 16 2.30 41500 1
8 1.70 1650 1 17 2.35 50000 1
9 1.80 2500 1 18 2.40 61000 1
19 2.45 74500 1

Stosujc metod najmniejszych kwadratw do funkcji sinh


o wspczynnikach a0, a1 , tzn.:
H=a0 sinh(a1B),
72 Metody numeryczne w przykadach

otrzymano nastpujce wartoci wspczynnikw:


a0=1.9966 A/m,
a1=4.5328 1/T.

Wyniki aproksymacji przedstawiono graficznie na rys. 3.8.

Rys. 3.8. Wykres wynikw aproksymacji krzywej magnesowania

3.6. Wielomiany ortogonalne


Aproksymacja z funkcjami bazowymi typu xi powoduje, e wraz ze
wzrostem stopnia wielomianu obliczenia staj si coraz bardziej
pracochonne, a ponadto ich wyniki s niepewne. Ponadto zmiana stopnia
wielomianu przybliajcego wymaga ponownego rozwizywania ukadu
normalnego (3.43), co te przemawia przeciwko stosowaniu bazy funkcji
i (x) = xi do aproksymacji. Obie te trudnoci mona usun uywajc do
aproksymacji wielomianw ortogonalnych.
3. Interpolacja i aproksymacja 73

Cig P0 , P1 , ..., Pn , gdzie Pk (k = 0, 1, ..., n) jest wielomianem stopnia


dokadnie k, nazywamy:
a) cigiem wielomianw ortogonalnych na przedziale [a, b] z wag p,
jeli tworz one ukad ortogonalny w przestrzeni L2p [a, b], tzn.
b
Pk , Pl Pk ( x) Pl ( x) p( x)dx 0 dla k l , k , l 0,1,...,n (3.49)
a

b) cigiem wielomianw ortogonalnych na zbiorze dyskretnym


{x1, x2, ..., xN } z wag p, jeli tworz one ukad ortogonalny
w przestrzeni L2p,N , tzn.:
N
Pk , Pl Pk ( xi ) Pl ( xi ) p( xi ) 0 dla k l ,k , l 0,1,...,n , (3.50)
i 1

gdzie n N-1, za p(xi), i = 1, 2, ..., N s danymi liczbami


dodatnimi.

W przypadku a) cig P0, P1, ..., Pn moe by nieskoczony, za


w przypadku b) jest skoczony. Tam, gdzie nie bdzie to istotne, nie
bdziemy rozrnia wielomianw ortogonalnych w sensie a) i b),
mwic po prostu o wielomianach ortogonalnych.
Wielomiany ortogonalne P0, P1, ..., Pn tworz baz przestrzeni
liniowej Wn wielomianw stopnia nie wyszego ni n.
Twierdzenie 3.8.
W przestrzeni L2p [a, b] lub w przestrzeni l2p,N , cig wielomianw
ortogonalnych jest wyznaczony jednoznacznie z dokadnoci do
mnonikw liczbowych.

Wielomiany ortogonalne speniaj take zaleno rekurencyjn, tzw.


regu trjczonow.
74 Metody numeryczne w przykadach

Twierdzenie 3.9.
Wielomiany ortogonalne Pk (k = 0, 1, ..., n) speniaj zaleno:
P1 ( x ) 0,
P0 ( x ) a0 , (3.51)
Pk ( x ) ( k x k ) Pk 1 ( x ) k Pk 2 ( x ), k 1,2,..., n.
gdzie:
ak xP , P
k 0, k k k 1 k 1 ,
a k 1 Pk 1 , Pk 1
(3.52)
a Pk 1 , Pk 1
k k , k 0,
ak 1 Pk 2 , Pk 2
ak oznaczaj wspczynniki wielomianu Pk (x) = ak xk + ... .
Z definicji k - ty wielomian ortogonalny Pk jest dokadnie stopnia k,
zatem jego wspczynnik ak0. Jeli k a k / a k 1 , to Pk -k Pk-1(x) jest
wielomianem stopnia k-1 i mona go przedstawi w postaci:
k 1
Pk k xPk 1 bi Pi . (3.53)
i 0

W przestrzeniach L2p[a, b] i l2p,N zachodzi rwno:


( xPk 1 , Pj ) ( Pk 1 , xPj ) .

Zatem, na podstawie twierdzenia 3.8, dla j<k-2 mamy:


( Pk k xPk 1 , Pj ) ( Pk , Pj ) k ( Pk 1 , xPj ) .

Z zalenoci (3.52) otrzymuje si:


k 1
( Pk k xPk 1 , Pj ) bi Pi , Pj b j Pj , Pj ,
i 0

czyli bj = 0 dla j < k - 2. Wzr (3.53) mona zatem zapisa w postaci:


Pk =k x Pk - 1 +k Pk - 1 +k Pk - 2 , (3.54)
gdzie k = bk - 1, k = bk - 2 . Stae te mona wyznaczy mnoc skalarnie
obie strony rwnoci (3.54) przez Pk - 1:
0 = (Pk , Pk - 1 ) = k (xPk - 1, Pk - 1 ) + k (Pk - 1, Pk - 1 ),
3. Interpolacja i aproksymacja 75

skd otrzymuje si warto k jak we wzorach (3.52).


Analogicznie wyznacza si warto k dla k = 2, 3, ..., n.

W przypadku wielomianw ortogonalnych na zbiorze dyskretnym


{x1 , x2 , ..., xN } zaleno rekurencyjna (3.51) jest speniona tylko dla
k N-1. Zauwamy, e wielomian stopnia N:
aN (x - x1 )(x - x2 ) ... (x - xN ), (3.55)
zeruje si w kadym z punktw xk , skd wynika, e jest prostopady do
wszystkich wielomianw ortogonalnych Pj niszego stopnia. Tym
samym N - ty wielomian ortogonalny PN musiaby by postaci (3.55),
poniewa z twierdzenia 3.8 wiadomo, e jest on wyznaczany
jednoznacznie z dokadnoci do staego czynnika. Dla wielomianu:
PN = aN (x - x1 )(x - x2 ) ... (x - xN ),
zachodzi rwno (PN , PN ) = 0, co dowodzi, e jest on zerowym
elementem przestrzeni zerowej l2p,N , nie moe wic by elementem
ukadu ortogonalnego. Jest to oczywiste, bo przestrze l2p,N ma wymiar
N, nie moe wic zawiera ukadu liniowo niezalenego o wicej ni N
elementach.
Regua trjczonowa (3.51) umoliwia konstrukcj wielomianw
ortogonalnych. S one wyznaczone jednoznacznie z dokadnoci do
mnonikw liczbowych. Moemy wic dowolnie ustali wartoci
wspczynnikw ak . Biorc ak = 1 (k = 0, 1, ..., n) otrzymujemy k = 1,
a tym samym prostsz posta wzorw (3.52).
Znajc ju wielomiany P0 = 1, P1, P2, ..., Pk - 1, wyznaczamy Pk
z zalenoci:
Pk (x) = (x+k )Pk - 1(x) +k Pk - 2 (x).
Koszt otrzymania kolejnego wielomianu ortogonalnego jest rwny
kosztowi obliczenia dwch iloczynw skalarnych (xPk-1, Pk-1) oraz
(Pk - 1, Pk - 1) - iloczyn (Pk - 2, Pk - 2) musia by obliczony wczeniej przy
wyznaczaniu wielomianu Pk - 1. Znalezienie n wielomianw
ortogonalnych z reguy trjczonowej wymaga zatem obliczenia 2n - 2
iloczynw skalarnych.dzenie
76 Metody numeryczne w przykadach

Twierdzenie 3.10.
Niech Pn n 0 bdzie ciagiem wielomianw ortogonalnych w przedziale
(a,b) z wag p. Wwczas wielomian Pn, n=1,2, ... ma n zer rzeczywistych,
pojedynczych, lecych w przedziale (a,b).
Twierdzenie 3.11.
W przypadku wielomianw ortogonalnych ukad rwna w aproksymacji
redniokwadratowej sprowadza si do macierzy diagonalnej.

W obliczeniach numerycznych nie powinno si wielomianw


ortogonalnych i ich kombinacji liniowych, reprezentowa wzgldem bazy
1, x, x2..., xn. Caa informacja o wielomianach ortogonalnych powinna
wyraa si wspczynnikami k , k, k formuy trjczonowej
i ewentualnie normami || Pi ||2 = (Pi, Pi). Z formuy trjczonowej naley
korzysta take przy obliczaniu wartoci wielomianu ortogonalnego
w danym punkcie i przy wyznaczaniu wartoci ich kombinacji liniowej.
Przykadami cigw wielomianw ortogonalnych s wielomiany
Legendrea, Hermitea, Grama i Czebyszewa.

Wielomiany Legendre'a
Wielomiany Legendre'a s zdefiniowane wzorami:
1 dk 2
P0 ( x ) 1, Pk ( x ) ( x 1) dla k 1,2,... , (3.56)
2 k k! dx k
i tworz one cig wielomianw ortogonalnych na przedziale [-1, 1]
z funkcj wagow p(x)=1 oraz speniaj zaleno rekurencyjn:
2k 1 k 1
P0 ( x ) 1, Pk ( x ) xPk 1 ( x ) Pk 2 ( x ) dla k 1,2,... (3.57)
k k
Korzystajc z (3.57) mona pokaza, e:
1 k / 2 k 2k 2i k 2i
Pk x 1i x . (3.58)
2k i 0 i k
Ponadto:
1

P x dx 2k 1 .
2

2 2
Pk k (3.59)
1
3. Interpolacja i aproksymacja 77

Wielomiany Hermite'a
Wielomiany Hermite'a s okrelone wzorem:
d k x2
H 0 x 1, H k x 1 e e dla k 1,2,...
x2
k
(3.60)
dx k
lub w postaci jawnej:

H k x k! 1
2x
k / 2 k 2 i
.
i
(3.61)
i 0 i! k 2i !
Tworz one cig wielomianw ortogonalnych w przestrzeni
L p(-,+), z funkcj wagow p( x) e x .
2
2

Regua trjczonowa w tym przypadku ma posta:


H 0 ( x) 1, H k ( x) 2 xH k 1 ( x) (2k 2) H k 2 ( x), k 1,2,.... (3.62)
Norma ||Hk|| jest rwna:

e P x dx 2 k k!
x2

2 2
Hk k (3.63)

Wielomiany Grama
Jeli w przestrzeni l2p,N, punkty x1, x2, ..., xN , pooone s w rwnej
odlegoci (bez zmniejszenia oglnoci mona zaoy, e le one
w przedziale [-1, 1], czyli:
2i 1
xi 1,
N 1
za wagi p(xi) s rwne jednoci, to cigiem wielomianw
ortonormalnych na zbiorze dyskretnym {x1, x2, ..., xN }, a wic
ortonormalnych w l2p,N, s wielomiany Grama G0, G1, ..., GN-1:
0 dla k l
Gk , Gl Gk xi , Gl xi
N
k , l 0,1,...,n .
i 1 1 dla k l
Speniaj one zaleno rekurencyjn:
1
G 0 ( x) ,
N
78 Metody numeryczne w przykadach

Gk ( x) k xGk 1 ( x) k Gk 2 ( x), k 1,2,..., N 2, (3.64)


przy czym:
N 1 4k 2 1
k , k k .
k N k
2 2
k 1
Dla k znacznie mniejszych od N wielomiany Grama Gk s bliskie
wielomianw Legendre'a Pk. Natomiast dla k istotnie wikszych od N
wielomiany Gk maj du norm jednostajn w przedziale [-1, 1], a ich
wartoci silnie oscyluj midzy punktami xi .

Wielomiany Czebyszewa
Wielomiany Czebyszewa pierwszego rodzaju s zdefiniowane wzorem:

T ( x)
k
x
k
x2 1 x x2 1
k

dla k 0,1,2,... . (3.65)


2
Dla |x| 1, podstawiajc x = cos t (tzn. t = arccos x) dostajemy:

T x
cos t j sin t cos t j sin t
k k
cos kt, j 1 ,
k (3.66)
2
a zatem:
Tk x cos(k arccos x) . (3.67)
Z (3.67) oraz z tosamoci trygonometrycznej:
cos kt + cos(k-2)t = 2cos t cos(k-1)t,
wynika zaleno rekurencyjna dla wielomianw Czebyszewa:
T0 x 1, T1 x x, Tk x 2 xTk 1 x Tk 2 x , k 2,3,.... (3.68)
atwo sprawdzi, e dla |x| > 1 wielomiany Czebyszewa speniaj
take rwno (3.68).
3. Interpolacja i aproksymacja 79

Mamy wic:
T0 (x) = 1,
T1 (x) = x,
T2 (x) = 2x2 1,
T3 (x) = 4x3 - 3x,
T4 (x) = 8x4 - 8x2 + 1,
... itd.

Z definicji (3.65) wynika, e wielomiany Czebyszewa stopnia


parzystego s funkcjami parzystymi, a stopnia nieparzystego - funkcjami
nieparzystymi tzn. Tk (-x) = (-1)k Tk (x).
Twierdzenie 3.12.
Wielomiany Czebyszewa Tk , k =0, 1, ... tworz ukad ortogonalny
w przestrzeni L2p [-1, 1], z funkcj wagow:
1
p(x) = .
1 x2
Ponadto wielomian Tk , k = 1, 2, ... w przedziale [-1, 1] ma k+1
punktw ekstremalnych ym:
m
ym cos m 0,1,...,k , w ktrych Tk (ym ) = ( -1)m.
k
Wspczynnik przy najwyszej potdze k-tego wielomianu
Czebyszewa jest rwny 2k-1.

Przykad 3.11.
Zanalizowa wartoci wielomianw stopnia 10 przybliajcych funkcj
1
f ( x) na siatce:
25x 2 1
2k
a) wzw rwnoodlegych x k 1 , k = 0, 1, ..., 10,
10
2k 1
b) wzw Czebyszewa x k cos , k = 0, 1, ..., 10.
11 2
Wyniki oblicze s zestawione w tabeli 3.9 i przedstawione na rys. 3.9.
80 Metody numeryczne w przykadach
Tabela 3.9. Wartoci wielomianw aproksymujcych z przykadu 3.11

Wzy Wartoci Wartoci wielomianu aproksymu-


interpolacji xi funkcji f(xi) jcego na siatce wzw:
rwnoodlegych Czebyszewa
F1(xi) F2(xi)
-0.95 0.042440 1.923631 0.085535
-0.85 0.052459 0.719459 0.002516
-0.7 0.075472 -0.226196 0.122414
-0.65 0.086486 -0.072604 0.150329
-0.57 0.109619 0.178626 0.136558
-0.5 0.137931 0.253755 0.098672
-0.45 0.164948 0.234969 0.087856
-0.35 0.246154 0.190580 0.176362
-0.31 0.293902 0.221343 0.260728
-0.25 0.390244 0.342641 0.429591
-0.15 0.64 0.67899 0.748897
-0.1 0.8 0.843407 0.881247
-0.05 0.941176 0.958627 0.969191
0.0 1.0 1.0 1.0
0.05 0.941176 0.958627 0.969191
0.1 0.8 0.843407 0.881247
0.15 0.64 0.67899 0.748897
0.25 0.390244 0.342641 0.429591
0.31 0.293902 0.221343 0.260728
0.35 0.246154 0.190580 0.176362
0.57 0.109619 0.178626 0.136558
0.65 0.086486 -0.072604 0.150329
0.7 0.075472 -0.226196 0.122414
0.85 0.052459 0.719459 0.002516
0.95 0.042440 1.923631 0.085535
3. Interpolacja i aproksymacja 81
2.0
y

F1(x) 1.8
F2(x)

1.6

1.4 f (x)

1.2

1.0

0.8

0.6

0.4

0.2
x
0.0

-1.0 -0.8 -0.6 -0.4 -0.2


-0.2 0.0 0.2 0.4 0.6 0.8 1.0

-0.4

Rys. 3.9. Ilustracja graficzna przykadu 3.11

3.7. Zadania do samodzielnego rozwizania


Zadanie 3.1.
Dla danych z tabeli 3.10 wyznaczy wielomian interpolacyjny Lagrangea
i obliczy przyblion warto funkcji w punktach 0 oraz 7.

Tabela 3.10. Dane do zadania 3.1

xi -2 -1 1 3 4
fi -90 -80 72 80 -180

Odp.
,
f(0) 16,
f(7) nie mona interpolowa w punkcie x=7, gdy ley on poza
zakresem wzw.
82 Metody numeryczne w przykadach

Zadanie 3.2.
Dla danych z tabeli 3.11 obliczy, wykorzystujc wielomian
interpolacyjny Lagrangea, przyblion warto funkcji w punktach 2, -1.

Tabela 3.11. Dane do zadania 3.2

xi -3 0 1 4 5
fi 1344 120 96 -252 -320

Odp.
,
f(2) 34, f(-1) 208.

Zadanie 3.3.
Dla danych z tabeli 3.12 wyznaczy tablic ilorazw rnicowych
wykorzystywanych w interpolacji Newtona.

Tabela 3.12. Dane do zadania 3.3

xi -3 -1 1 2 3
fi 1 -5 5 -14 -161

Odp.
[x0,x1] = 3, [x1,x2] = 5, [x2,x3] = 19, [x3,x4] = 147,
[x0,x1,x2] = 2, [x1,x2,x3] = 8, [x2,x3,x4] = 64,
[x0,x1,x2,x3] = 2, [x1,x2,x3 x4] = 2,
[x0,x1,x2,x3,x4] = 2.

Zadanie 3.4.
Dla danych z tabeli 3.13 wyznaczy wielomian interpolacyjny Newtona
i obliczy przyblion warto funkcji w punktach 1 oraz -1.

Tabela 3.13. Dane do zadania 3.4

xi -4 -2 0 2 5
fi -2 -4 -22 -152 1123
3. Interpolacja i aproksymacja 83

Odp.
,
f(1) 97,
f(-1) 13.

Zadanie 3.5.
Wyznaczy funkcj liniow, ktra w sensie metody najminiejszych
kwadratw aproksymuje dane z tabeli 3.14.

Tabela 3.14. Dane do zadania 3.5

xi 1 2 3 6 9
fi -4 -6 -8 -14 -20

Odp. .

Zadanie 3.6.
Wyznaczy funkcj postaci y=a/x+b, ktra w sensie metody
najmniejszych kwadratw aproksymuje dane z tabeli 3.15.

Tabela 3.15. Dane do zadania 3.6

xi 1 1/5 1/9 1/13 1/15


fi 2 -6 -14 -22 -26

Odp. .

Zadanie 3.7.
Sprawdzi, czy cig wielomianw:
jest cigiem wielomianw ortogonalnych na przedziale [-1,1] z funkcj
wagow

Odp. Wielomiany te nie stanowi cigu ortogonalnego, poniewa


.
4. Metody rozwizywania ukadw rwna
liniowych

4.1. Wstp
W rozdziale tym przedstawimy metody skoczone oraz iteracyjne [1, 4, 5,
8, 9, 10] rozwizywania ukadw rwna liniowych postaci:
Ax = b, (4.1)
gdzie:
a11 a12 ... a1n
a a 22 ... a 2n
A jest macierz n x n,
21

... ... ... ...



a n1 an2 ... a nn

b1
...
b danym wektorem,
b2

bn
x1
...
x szukanym rozwizaniem ukadu rwna liniowych (4.1).
x2

xn

4.2. Metody skoczone


4.2.1. Eliminacja Gaussa
Metoda eliminacji Gaussa jest najczciej stosowan skoczon metod
numerycznego rozwizywania nieosobliwych ukadw rwna liniowych.
4. Metody rozwizywania ukadw rwna liniowych 85

Ukad n rwna liniowych (4.1) mona zapisa w postaci


macierzowej:
A (1) x b (1) (4.2)
lub bezporednio:
a11(1)
x1 a12(1)
x2 ... a1(n1) xn b1(1)
(1)
a21 x1 a 22 x2 ... a2 n xn b2
(1) (1) (1)

. (4.3)
.................................................
a (1) x a (1) x ... a (1) x b (1)
n1 1 n2 2 nn n n

Indeks w nawiasie oznacza tu kolejny krok realizowamy w wyniku


dziaania metody eliminacji Gaussa.
W metodzie wyrnia si dwa etapy:
postpowanie proste,
postpowanie odwrotne.

Pierwszy etap eliminacji (eliminacja w przd, czyli tzw. postpowanie


proste) sprowadza ukad do postaci grnie trjktnej.
Pierwszy krok metody polega na odjciu od i-tego wiersza ukadu (4.3)
(i=2,3,...,n), wiersza pierwszego pomnoonego odpowiednio przez:
ai(11)
mi1 (1) .
a11
Po wykonaniu pierwszego kroku eliminacji otrzymujemy ukad:
A ( 2) x b( 2) (4.4)
lub:
a11
(2)
x1 a12 (2)
x2 ... a1(n2 ) xn b1( 2 )

a 22 (2)
x2 ... a2( 2n) xn b2( 2 )
. (4.5)
.....................................
a n( 22) x2 ... a nn
( 2)
xn bn( 2 )

Wyeliminowalimy w ten sposb niewiadom x1 z rwna lecych
w wierszach o numerach i=2, 3,..., n.
86 Metody numeryczne w przykadach

Podobnie, w kroku drugim, eliminujemy zmienn x2 z rwna


lecych w wierszach 3, 4,..., n, odejmujc od i-tego wiersza
(i=3, 4,..., n), wiersz drugi pomnoony przez mi 2 , gdzie kolejne mnoniki
wyznaczane s ze wzoru:
mij aij( k ) / a (jjk ) k 1,...,n, i=2,...,n, j 1,...,n 1.
(4.6)
Postpujc w ten sposb otrzymamy przeksztacony ukad rwna:
A ( 3) x b ( 3) .
Po wykonaniu n-1 eliminacji uzyskamy trjktny ukad rwna:
A ( n ) x b( n )
czyli:
a11
(n)
x1 a12
(n)
x2 ... a1(nn ) xn b1( n )


(n)
a 22 x2 ... a 2( nn) xn b2( n )
. (4.7)
. .......... .............
(n)
xn bn( n )
a nn
W drugim etapie rozwizania (postpowanie odwrotne lub
postpowanie wsteczne) w celu znalezienia rozwizania ukadu rwna,
korzysta si z uzyskanej (w wyniku postpowania prostego) macierzy
trjktnej grnej (4.6) i wzorw rekurencyjnych :
n

b( n )
bi( n ) a (n)
x
i ,k k
xn n( n ) , xi k i 1
(n)
, i n 1,...,1. (4.8)
ann a ii

Metoda Gaussa zapewnia uzyskanie wynikw z niewielkim bdem,


jeeli tylko wartoci wspczynnikw ostatecznie zredukowanego ukadu
rwna lecych na gwnej przektnej nie s bliskie zeru. Gdyby modu
ktrego z dzielnikw by may w porwnaniu z innymi
wspczynnikami, to mgby powsta znaczny bd numeryczny.
Istnienie zera na przektnej wykluczaoby rozwizanie ukadu (patrz
przykad 4.3). Aby tego unikn, stosuje si jedn z metod wyboru
elementu gwnego [1]:
wybr czciowy elementu gwnego,
wybr peny elementu gwnego.
4. Metody rozwizywania ukadw rwna liniowych 87

Wybr czciowy elementu gwnego polega na tym, e w k-tym


kroku eliminacji wybiera si ten element k-tej kolumny albo k-tego
wiersza macierzy, ktry ma najwikszy modu tzn.: a rk( k ) max aik( k ) ,
k i n
a nastpnie dokonuje si przestawienia wierszy o numerze k z wierszem
o numerze r lub akr( k ) max aki( k ) oraz przestawienia kolumny numer k
k i n
z kolumn numer r. Naley przy tym pamita o jednoczesnej zmianie
kolejnoci zmiennych w wektorze wynikowym.
Wybr peny elementu gwnego polega na tym, e w k-tym kroku
eliminacji wybiera si najwikszy co do moduu element
ars( k ) , k r n, k s n tzn.: a rs( k ) max aij( k ) a nastpnie dokonuje si
k i , j n

przestawienia wierszy k i r oraz kolumny k i s.


W praktyce wybr czciowy elementu gwnego zwykle wystarcza
i ze wzgldu na znacznie wikszy koszt poszukiwania, rzadko stosuje si
wybr peny. Z drugiej strony jednak metoda Gaussa jest numerycznie
poprawna tylko w przypadku penego wyboru elementu gwnego.
czna liczba operacji w metodzie eliminacji Gaussa wynosi okoo
(1 / 3) n 3 (1 / 2) n 2 . Poniewa samo rozwizanie kocowego ukadu
trjktnego wymaga (1 / 2) n 2 operacji, tote dla duego n najkosz-
towniejsz czci oblicze jest redukcja do postaci trjktnej.
Przykady 4.1-4.3 przedstawiaj rne ukady demonstrujce
przypadek, kiedy czciowy wybr elementu gwnego nie jest
wystarczajcy.

Przykad 4.1.
Rozwiza metod eliminacji Gaussa z wyborem elementu
podstawowego w kolumnie ukad rwna:

{ .
88 Metody numeryczne w przykadach

Postpowanie proste
Na pocztek tworzymy macierz wspczynnikw 4x4 powikszon
o wektor wyrazw wolnych tego ukadu:

[ ].

Krok pierwszy eliminacji Gaussa


Chcemy zastosowa wybr elementu podstawowego w kolumnie wic
w pierwszym kroku naley wybra element najwikszy co do moduu
z kolumny pierwszej u nas jest to element a21=-2, ktry stoi w wierszu
drugim, dlatego zamieniamy wiersz 1 z wierszem 2. Macierz ma posta:

[ ].

Nastpnie wyznaczamy mnoniki mij ze wzoru (4.7a) dla j=1, i=2,3,4


oraz podajemy od razu wzory na obliczenie nowych wierszy macierzy
wspczynnikw z wykorzystaniem policzonych mnonikw:
,

.
Wykonujemy pierwszy krok wedug powyszych wzorw (wiersz
pierwszy oczywicie nie ulega zmianie):

[ ].

Krok drugi eliminacji Gaussa


Stosujemy wybr elementu podstawowego w kolumnie wic w drugim
kroku naley wybra element najwikszy co do moduu z kolumny
drugiej i wierszy od drugiego do czwartego (bez elementu tej kolumny
stojcego w wierszu pierwszym) u nas jest to element a22=-5 stojcy
w wierszu drugim wobec czego nie dokonujemy adnej zamiany.
4. Metody rozwizywania ukadw rwna liniowych 89

Analogiczne obliczenia, jak w kroku pierwszym, wykonujemy w celu


otrzymania mnonikw dla j=2 oraz i=3,4 i przeksztacenia wierszy:
,

.
W wyniku przeksztace opisanych powyszymi wzorami
otrzymujemy macierz:

[ ].

Krok trzeci eliminacji Gaussa


Stosujc wybr elementu podstawowego w kolumnie, w trzecim kroku
naley wybra element najwikszy co do moduu z kolumny trzeciej
i wierszy od trzeciego do czwartego (bez elementw tej kolumny
stojcych w wierszu pierwszym i drugim) w naszym przykadzie jest to
element a33=1 stojcy w wierszu trzecim, wobec czego ponownie nie
trzeba dokonywa adnej zamiany a mnonik wyznaczamy ze wzoru:

W wyniku przeksztacenia otrzymujemy macierz:

[ ],

ktra jest efektem kocowym eliminacji prostej.

Postpowanie odwrotne
Po wykonaniu trzech krokw eliminacji Gaussa otrzymalimy macierz
grn trjktn, dla ktrej naley przeprowadzi postpowanie odwrotne
zmierzajce do rozwizania tak otrzymanego ukadu rwna:

{ .
90 Metody numeryczne w przykadach

Ten etap jest ju bardzo prosty: z rwnania ostatniego wyliczamy


zmienn x4, z trzeciego x3 itd., a dojdziemy do rwnania pierwszego.

W ten sposb uzyskujemy rozwizanie:


z rwnania czwartego ;
z rwnania trzeciego ;
z rwnania drugiego ;
z rwnania pierwszego .

Zamiana wierszy nie pociga za sob zamiany zmiennych w wektorze


rozwiza. Zatem rozwizaniem podanego ukadu rwna jest wektor:
[ ] .

Przykad 4.2.
Metod eliminacji Gaussa z wyborem elementu podstawowego w wierszu
rozwiza ukad rwna:

{ .

Pocztkowo macierz ukadu jest postaci:

[ ].

Postpowanie proste
Krok pierwszy
Chcemy zastosowa wybr elementu podstawowego w wier-
szu - w pierwszym kroku naley wybra element najwikszy co do
moduu z wiersza pierwszego. W naszym przykadzie jest to element
a13=5, ktry stoi w kolumnie trzeciej, dlatego zamieniamy kolumn 1
z kolumn 3.
4. Metody rozwizywania ukadw rwna liniowych 91

Macierz po zmianach ma posta:

[ ].

Nastpnie wyznaczamy mnoniki:


,


i po obliczeniach uzyskujemy macierz:

[ ].

Krok drugi
Element najwikszy co do moduu z wiersza drugiego jest to element
a23=7, ktry stoi w kolumnie trzeciej, dlatego zamieniamy kolumn 2
z kolumn 3. Macierzpo zamianie ma posta:

[ ].

Wyznaczamy kolejne mnoniki:


,


i uzyskujemy macierz:

[ ].
92 Metody numeryczne w przykadach

Krok trzeci
Element najwikszy co do moduu z wiersza trzeciego jest to element
a34=3, ktry stoi w kolumnie czwartej, dlatego zamieniamy kolumn 3
z kolumn 4.
Macierz po zamianie ma posta:

[ ].

Wyznaczamy mnonik:

i ostatecznie otrzymujemy macierz:

[ ].

Postpowanie odwrotne
Zamiana kolumn pociga za sob zamiany w wektorze rozwiza:
wyjciowa sytuacja dla numerw zmiennych to: [1, 2, 3, 4];
pierwsza zamiana dotyczya kolumn 1 i 3: [3, 2, 1, 4];
druga zamiana dotyczya kolumn 2 i 3: [3, 1, 2, 4];
trzecia zamiana dotyczya kolumn 3 i 4: [3, 1, 4, 2].
Dla takiej kolejnoci w wektorze zmiennych wykonujemy
postpowanie odwrotne:

{ .

Szukanym rozwizaniem jest:


, , , .
Zatem rozwizaniem podanego ukadu rwna jest wektor:
[ ] .
4. Metody rozwizywania ukadw rwna liniowych 93

Przykad 4.3.
Metod eliminacji Gaussa bez wyboru elementu podstawowego
rozwiza podany ukad rwna:

{ .

Macierz wyjciowa ma posta:

[ ].

Krok pierwszy
Dokonujemy oblicze:
,


i otrzymujemy macierz:

[ ].

Po pierwszym kroku metody eliminacji Gaussa element a22 jest rwny


zero, co powoduje niemoliwo prowadzenia dalszych oblicze. Metod
eliminacji Gaussa bez wyboru elementu podstawowego naley w tym
miejscu zakoczy. Nie uzyskalimy rozwizania ukadu. Nie oznacza to
jednak, e macierz jest osobliwa.
Ten sam ukad mona sprbowa rozwiza metod eliminacji Gaussa
z wyborem elementu podstawowego. W tym przypadku rwnie ta
metoda nie da rozwizania, co oznacza, e macierz jest osobliwa i ukad
jest sprzeczny.
94 Metody numeryczne w przykadach

4.2.2. Eliminacja Gaussa-Jordana


Metoda eliminacji Gaussa-Jordana jest modyfikacj metody eliminacji
Gaussa. Ukad n rwna liniowych (4.2), tzn.
a11(1)
x1 a12(1)
x2 ... a1(n1) xn b1(1)
(1)
a21 x1 a 22 x2 ... a2 n xn b2
(1) (1) (1)

, (4.9)
.................................................
a (1) x a (1) x ... a (1) x b (1)
n1 1 n2 2 nn n n

drog elementarnych transformacji przeksztacany jest tak, e zarwno


powyej, jak i poniej gwnej przektnej wystpuj wspczynniki
zerowe.
Ukad rwna (4.9) przeksztacamy zgodnie z poniszym algorytmem.
Pierwsze rwnanie dzielimy obustronnie przez a11
(1)
a nastpnie od i-tego
wiersza (i=2,3...,n) odejmujemy wiersz pierwszy pomnoony przez ai(11) ,
otrzymujc ukad rwna:
A ( 2) x b( 2) , (4.10)

postaci:
x1 a12( 2)
x2 ... a1(n2 ) xn b1( 2 )


( 2)
a 22 x2 ... a 2( 2n) xn b2( 2 )
. (4.11)
.....................................
a n( 22) x2 ... a nn
(2)
xn bn( 2 )

Nastpnie drugie rwnanie dzielimy obustronnie przez a 22
(2)
i od i-tego
wiersza (i=1,3,4,...,n), odejmujemy wiersz drugi pomnoony przez ai(22 ) ,
otrzymujc ukad:
A ( 3) x b ( 3) , (4.12)
4. Metody rozwizywania ukadw rwna liniowych 95

postaci:
x1 + a13 (3)
x3 a1(3)n xn b1(3)

x2 + a23 x3 a2 n xn b2
( 3) ( 3) ( 3)

(4.13)
..........................................
a n( 33) x3 ann
( 3)
xn bn( 3)

Po n-1 eliminacjach otrzymuje si ukad o macierzy diagonalnej:
x1 b1(n)

x2 b2( n )
(4.14)
...................
xn bn( n )

a zatem ju gotowe rozwizanie.
Metoda ta zwana metod eliminacji Jordana lub metod eliminacji
zupenej wymaga wykonania okoo ptora raza wicej dziaa, ni
w przypadku metody eliminacji Gaussa. Liczba zajtych komrek
pamici jest taka sama. Aby nie wystpio dzielenie przez zerowy element
aii(i 1) , naley zastosowa odpowiedni wybr elementu podstawowego.
Zalet redukcji Gaussa-Jordana jest moliwo rozwizywania ukadu
rwna obcitego do k pocztkowych rwna i k niewiadomych
(w przypadku, gdy dokonujemy redukcji bez wyboru elementw
podstawowych). Metoda ta umoliwia ponadto rozwizywanie ukadu
rwna przy oszczdniejszym wykorzystaniu pamici operacyjnej, co
pozwala na rozwizywanie ukadw o wikszej liczbie zmiennych.
Istotn wad jest tu jednak duy nakad oblicze, ktry nie ulega
zmniejszeniu podczas ponownego rozwizywania ukadu rwna przy
zmienionej prawej stronie ukadu wektora b (4.9).

4.2.3. Rozkad LU
W wielu zagadnieniach numerycznych dotyczcych macierzy
kwadratowych A, poszukujemy takich macierzy trjktnych L i U
(zobacz wzr 2.10), by: A=LU (jest to tzw. rozkad trjktny, albo
rozkad LU). Metoda eliminacji Gaussa umoliwia wyznaczenie takiego
rozkadu.
96 Metody numeryczne w przykadach

Ukad:
Ax=b
jest rwnowany ukadowi:
LUx=b,
ktry rozpada si na dwa ukady trjktne:
Ly=b
i
Ux=y.
Znajc czynniki L i U mona rozwiza ukad Ax=b kosztem
2n / 2 n2 operacji (eliminacja Gaussa wymaga natomiast n3 / 3
2

operacji).
Niech A bdzie macierz wymiaru n x n i niech A k oznacza macierz
k x k, utworzon z elementw pocztkowych k wierszy i kolumn z A.
Jeli det(A k ) 0 (k=1,2,...,n-1), to istnieje jedyny rozkad A=LU na
czynniki takie, e:

macierz L lij jest macierz dolnie trjktn i ma elementy
lii 1 (i=1,...,n)

macierz U uij jest macierz grnie trjktn.
Zauwamy ponadto, e macierz U jest kocow macierz trjktn
otrzyman za pomoc eliminacji Gaussa. Aby otrzyma macierz L,
naley zachowa mnoniki mik aik( k ) / a kk( k ) , ktre okrela si w eliminacji
Gaussa (4.7a) tak, e aik( k 1) staje si zerem (mona wic na miejscu aik( k )
wpisa mik tak jak to pokazano na schemacie 4.15). Wtedy .
Nie trzeba te pamita jedynek z gwnej przektnej macierzy L, dlatego
nie jest potrzebna dodatkowa pami.
Efekt rozkadu LU macierzy A mona zobrazowa schematem:
a11 a12 ... a1,n 1 a1n u11 u12 ... u1,n 1 u1n
a a 22 ... a 2,n 1 a 2 n m21 u22 u2,n 1 u2 n

21
... ... ... ... ... ... . (4.15)

... ... ... ... ... ...
an1 a n 2 ... a n ,n 1 a nn mn1 mn 2 ... mn ,n 1 unn
4. Metody rozwizywania ukadw rwna liniowych 97

Bezporednie wzory na elementy macierzy U oraz L przedstawiaj si


nastpujco dla i=1,2,..,n oraz j=1,2,..,n:
, (4.16)
,
( )
,

, (4.17)
.

Wzory te naley stosowa naprzemiennie dla obu macierzy, tzn. na


pocztku obliczamy pierwszy wiersz macierzy U: u11, u12, , u1n
i kolejno pierwsz kolumn macierzy L: l21, l31, , ln1, a nastpnie drugi
wiersz macierzy U i drug kolumn macierzy L itd.
Znajomo rozkadu LU macierzy A jest niezbdna do obliczenia
wyznacznika macierzy i znalezienia macierzy odwrotnej A-1.

Przykad 4.4.
Metod rozkadu LU rozwiza ukad rwna:

{ .

Macierz wyjciowa ma posta:

[ ].

Dla i = 1 obliczamy pierwszy wiersz macierzy U:


,
,
,
.
98 Metody numeryczne w przykadach

oraz pierwsz kolumn macierzy L:


,
,
.

Dla i = 2 obliczamy drugi wiersz macierzy U (poczwszy od gownej


przektnej) oraz drug kolumn macierzy L (poniej gwnej przektnej):
,
,
,
,
.

Kolejne elementy macierzy U oraz L obliczamy ze wzorw:


,

.
Ostatecznie macierze L i U s postaci:

[ ], [ ].

Kolejny etap oblicze to rozwizanie dwch ukadw rwna:


Ly = b i Ux = y.

Rozwizujc pierwszy ukad rwna Ly = b otrzymujemy:

{ [ ].
4. Metody rozwizywania ukadw rwna liniowych 99

Rozwizujc drugi ukad Ux = y mamy:

{ [ ].

Ostatecznie rozwizaniem podanego ukadu rwna jest wektor:


[ ] .

4.2.4. Rozkad Choleskiego


Przy zaoeniu, e macierz A o wymiarze n x n jest macierz symetryczn
dodatnio okrelon, dekompozycja LU tej macierzy ma duo prostsz
posta i nazywa si j rozkadem Choleskiego.
Dla takiej macierzy wszystkie minory gwne s dodatnie i rozkada
si ona jednoznacznie na czynniki trjktne:
(4.18)
gdzie macierz L ma posta:

[ ].

Elementy macierzy L obliczamy wedug wzorw:


(4.19a)
( )
(4.19b)

Macierz L obliczamy kolumnami. W rozkadzie LU naleao policzy


n2 elementw, natomiast w rozkadzie Choleskiego wystarczy policzy
n(n+1)/2. Elementy macierzy LT mog by przechowywane w macierzy
L, wic niepotrzebna jest dodatkowa pami.
Rozwizanie ukadu rwna Ax=b jest rwnowane ukadowi
LLTx=b, ktry rozpada si na dwa ukady trjktne: Ly=b i LTx=y.
Koszt rozwizania (liczba mnoe) wynosi w tym przypadku 1/6 n3.
100 Metody numeryczne w przykadach

Przykad 4.5.
Wykorzystujc rozkad Choleskiego rozwiza ukad rwna postaci:

{ .

Na pocztku sprawdzamy, czy macierz ukadu

[ ]

jest dodatnio okrelona. W tym celu naley obliczy minory gwne:

[ ] , [ ] , .

Wszystkie minory gwne s dodatnie co gwarantuje, e macierz A jest


dodatnio okrelona i mona zastosowa rozkad Choleskiego. Obliczamy
elementy macierzy L:
,
,

,

,



Macierz L ma zatem posta:

[ ].

Po wyznaczeniu macierzy L naley rozwiza dwa ukady rwna:


Ly=b i LTx=y.
4. Metody rozwizywania ukadw rwna liniowych 101

Rozwizujemy pierwszy ukad Ly = b:

{ [ ].

Rozwizujemy drugi ukad LTx=y:

{ [ ].

Rozwizaniem podanego ukadu rwna jest zatem wektor:

[ ] .

4.2.5. Rozkad QR metod Householdera


Niech dane bd :
.
Jeli n<m mwimy, e ukad rwna Ax=b jest nadokrelony, tzn.
mamy wicej rwna (m) ni niewiadomych (n). Taki ukad nie zawsze
posiada rozwizanie, ale zawsze mona znale przyblione rozwizanie
zgodne z pewnymi zaoeniami.
Zadanie wygadzania liniowego polega na znalezieniu wektora x*,
ktry minimalizuje wektor residualny (wektor reszty) tzn.:
. (4.20)
Zadanie wygadzania liniowego jest wic uoglnieniem
rozwizywania kwadratowych ukadw rwna liniowych. Metoda
Householdera jest jedn z metod znajdowania rozwizania dla ukadw
rwna prostoktnych.

Odbicia Householdera
Dla danego wektora o normie , odbicie
(macierz) Householdera definiujemy jako:
. (4.21)
Zauwamy, i:
, (4.22)
102 Metody numeryczne w przykadach

gdzie r jest rzutem prostopadym x na kierunek wektora w. Ze wzoru


(4.22) wynika twierdzenie 4.1.
Twierdzenie 4.1
Przeksztacenie Householdera przyporzdkowuje wektorowi x jego
odbicie lustrzane wzgldem hiperpaszczyzny prostopadej do wektora w.
Twierdzenie 4.2
Odbicia Householdera s przeksztaceniami symetrycznymi
i ortogonalnymi (tj. niezmieniajcymi dugoci wektora), tzn.
. (4.23)
Przeksztaecenie Householdera stosuje si do przeprowadzenia
wektora na kierunek innego wektora niezerowego e, czyli:
. (4.24)
Zamy, e . W szczeglnoci dla e=e1 otrzymujemy wzory:
, (4.25)

gdzie

{ (4.26)

(4.27)
oraz sign(t) oznacza znak liczby t.
Wspczynnik ze wzoru (4.24) ma warto:
. (4.27a)

Rozkad QR
Odbi Householdera mona uy do uzyskania rozkadu macierzy
na iloczyn ortogonalno-trjktny.
Twierdzenie 4.3
Kad macierz dla mn, ktrej czyli tak,
ktrej kolumny s liniowo niezalene, mona przedstawi w postaci:
, (4.28)
4. Metody rozwizywania ukadw rwna liniowych 103

gdzie ma kolumny ortogonalne, a jest macierz


uoglnion trjktn grn.
Niech:
[ ] (4.29)
gdzie aj oznacza j-t kolumn macierzy A.
Niech H1 przeksztaca na wersor .
Wtedy
[ ] (4.30)

[ ] (4.31)

W kolejnym kroku wybieramy przeksztacenie Householdera tak,


aby przeksztacao ono wektor na kierunek wersora .
Wtedy przyjmujemy:

[ ] (4.32)

Pomnoenie macierzy A(1) z lewej strony przez H2 spowoduje


wyzerowanie drugiej kolumny macierzy poniej elementu , przy
czym pierwszy wiersz i pierwsza kolumna macierzy pozostan
niezmienione. Zatem:

[ ] (4.33)

i posta ostateczna:

[ ] (4.34)

Po wykonaniu n krokw otrzymujemy macierz:


(4.35)
104 Metody numeryczne w przykadach

postaci:

[ ]. (4.36)

gdzie H(n) przeksztaca na wersor .


Oznaczmy

[ ]. (4.37)

Wtedy:

[ ] (4.38)

jest uoglnion macierz trjktn grn wymiaru mn tak, e:


.
Skoro:
, (4.39)
to podstawiajc:
(4.40)
dostajemy rozkad macierzy A na iloczyn macierzy ortogonalnej Q
i macierzy grnie trjktnej R (4.28).
Koszt metody Householdera to . Dla m=n daje to
czyli dwa razy wicej ni metoda eliminacji Gaussa. Metoda
Householdera jest numerycznie poprawna, idealnie nadaje si do oblicze
rwnolegych. Niewtpliw jej zalet jest fakt, i moemy j stosowa
w przypadku ukadw prostoktnych. Dla ukadw nadokrelonych
otrzymujemy rozwizanie minimalizujce sum kwadratw,
a w przypadku ukadw niedookrelonych rozwizanie o minimalnej
normie. Metoda ta posiada take wisz dokadnoc oblicze,
w porwnaniu z metod Gaussa.
4. Metody rozwizywania ukadw rwna liniowych 105

Przykad 4.5a.
Wykorzystujc odbicie Householdera przeprowadzi wektor
[ ] na wektor [ ] .

Najpierw policzymy dugo wektora :



i

Nastpnie naley obliczy wspczynnik ze wzoru (4.27a):


.
W tym przypadku, nie jest konieczne obliczanie caego H.
Otrzymujemy wektor [ ] .

4.2.6. Wyznaczanie macierzy odwrotnej


Przy zaoeniu, e macierz A o wymiarze n x n jest macierz nieosobliw,
moemy wyznaczy rozkad trjktny macierzy A=LU.
Tzn.:
1 0 ... 0 0 u11 u12 ... u1,n 1 u1n
l 1 0 0 0 u22 u2,n 1 u2 n

21
A ... ... ... ... ... ...

... ... ... ... ... ...
ln1 ln 2 ... ln ,n 1 1 0 0 ... 0 unn
i obliczy macierz odwrotn do A jako iloczyn macierzy odwrotnych do
U i do L, czyli:
A 1 U 1 L1 .

Macierz odwrotna do L jest take macierz dolnotrjktn:


1 0 ... 0 0
l' 0
21 1 0
L1 ... ... ... i L L-1=I.

... ... ...
l' n1 l' n 2 ... l' n ,n 1 1

106 Metody numeryczne w przykadach

Elementy lij macierzy odwrotnej L-1 wyznaczamy ze wzorw:



(4.41)

gdzie i = 1, ..., n, j = 1, ..., n.

Macierz odwrotna do U jest macierz grnotrjktn:


u11' '
u12 ... u1' ,n 1 u1' n
'
0 u 22 u 2' ,n 1 u 2' n
U 1 ... ... ...

... ... ...
0 0 ... 0 '
u nn
i U U-1=I.
Elementy uij` macierzy odwrotnej U-1 wyznaczamy ze wzorw:
( )
,

, (4.42)
,
gdzie i = 1, ..., n, j = 1, ..., n.
1 1 1 2
Gdy L i U s znane, metoda wymaga n3 n3 n3 n3
6 6 3 3
3
operacji. Poniewa rozkad trjktny macierzy A wymaga n / 3 operacji,
to oglny koszt odwracania macierzy wynosi n 3 operacji.

4.2.7. Obliczanie wyznacznika macierzy


W celu obliczenia wyznacznika macierzy A dokonujemy rozkadu
macierzy A metod LU. Jest to pomocne dlatego, e wyznacznik
macierzy trjktnej jest rwny iloczynowi elementw tej macierzy
stojcych na gwnej przektnej.
Jeeli wic A=LU, wwczas:
det A det L det U 1 det U u11u22 ... unn .
4. Metody rozwizywania ukadw rwna liniowych 107

W przypadku przestawiania wierszy macierzy A, wyznacznik ten


naley pomnoy przez (1) s , gdzie s jest czn liczb przestawie
wierszy.

4.3. Metody iteracyjne


W poprzednich podrozdziaach przedstawiono najwaniejsze metody
skoczone rozwizywania ukadw rwna liniowych. Realizacja tych
metod dla ukadu n x n wymaga n 2 komrek w pamici operacyjnej oraz
wykonania rzdu n 3 dziaa arytmetycznych. Jeli wic tylko n nie jest
zbyt due i ukad jest dostatecznie dobrze uwarunkowany, to rozwizanie
zadania nie nastrcza adnych trudnoci.
W praktyce obliczeniowej pojawiaj si jednak dosy czsto ukady
liniowe, ktrych wymiar n jest rzdu 103 lub nawet wikszy.
Podstawowym rdem takich zada s metody przyblionego
rozwizywania rwna rniczkowych czstkowych. Prawie zawsze
macierze wielkich ukadw liniowych nie s macierzami penymi, ale
rzadkimi, tzn. maj niewiele elementw niezerowych. Jednym ze
sposobw rozwizywania wielkich ukadw rwna jest stosowanie
metod iteracyjnych, ktre zakadaj jedynie moliwo mnoenia
dowolnego wektora przez macierz ukadu (lub przez macierz od niej
pochodzc). Jeli macierz jest rozrzedzona, to mnoenie takie wymaga
wykonania okoo n dziaa arytmetycznych a nie n 2 , jak w przypadku
oglnym.
Zalet metod iteracyjnych jest rwnie moliwo wyznaczenia
przyblienia rozwizania z zadan dokadnoci, niekiedy kosztem
istotnie mniejszym od kosztu metod skoczonych. Dla niektrych zada
metody iteracyjne s wic efektywniejsze.
Jedn z najprostszych metod iteracyjnych jest metoda iteracji prostej.
Polega ona na przejciu od danego ukadu rwna liniowych (4.1) do
rwnowanego (tzn. majcego te same rozwizania) ukadu:
x = Bx+c. (4.43)
Sposb wyznaczenia macierzy B i wektora c zaley od rodzaju
stosowanej metody iteracyjnej (patrz rozdzia 4.3.1, 4.3.2, 4.3.3).
108 Metody numeryczne w przykadach


Znajc (4.43) wyznaczamy cig x (i ) , i 1,2, ... kolejnych przyblie
rozwizania x A 1b ze wzoru:
x (i 1) Bx (i ) c, i 0,1,... (4.44)
Odejmujc stronami rwnanie (4.43) od rwnania (4.44) otrzymujemy:
x(i 1) x B(x(i ) x), i 01
, ,... (4.45)
a std:
x (i 1) x B(x (i ) x) BB(x (i 1) x)... Bi 1 (x ( 0) x), (4.46)
gdzie:
Bi 1 B B ... B (i 1 razy), i=0,1,... . (4.47)
Przechodzc do norm otrzymujemy oszacowania:
x (i 1) x Bi 1 (x ( 0) x) B (x ( 0) x) .
i+1
(4.48)

Istotn rzecz jest znajomo warunku wystarczajcego zbienoci


metody iteracyjnej. Wystarczajcym warunkiem na to, aby cig

x (i ) , i 1,2, ... zdefiniowany wzorem (4.44) by zbieny do rozwizania
ukadu (4.1) jest, aby dowolna norma macierzy B bya mniejsza od
jednoci. Dla wielu metod sprawdzenie nierwnoci B 1 jest moliwe.
Metody Jacobiego, Gaussa-Seidela, nadrelaksacji (SOR) s wariantami
metody iteracji prostej.

4.3.1. Metoda Jacobiego


Przedstawmy macierz wyjciowego ukadu w postaci:
A=L+D+U, (4.49)
gdzie D jest macierz diagonaln, L - macierz doln trjktn, a U -
macierz grn trjktn o zerowych elementach diagonalnych.
4. Metody rozwizywania ukadw rwna liniowych 109

Przykad 4.6.
Rozkad przykadowej macierzy wedug wzoru (4.49) jest postaci:
1 2 3 0 0 0 1 0 0 0 2 3
4 5 6 4 0 0 0 5 0 0 0 6 .

7 8 9 7 8 0 0 0 9 0 0 0
Rozwizywany ukad Ax=b mona zapisa jako:
(L+D+U) x=b
a std:
Dx=-(L+U)x+b. (4.50)
Jeli macierz D jest nieosobliwa (jest tak np. w przypadku macierzy
symetrycznej dodatnio okrelonej) to moemy przej do ukadu
rwnowanego:
x BJ x c, (4.51)
gdzie:
B J D 1 (L U),
(4.52)
c D 1b.
Przeksztacajc rwnanie (4.50) zapisane w postaci:
Dx(i+1)=-(L+U)x(i)+b,
otrzymujemy:
k 1 n
akk xk( i 1) akj x (ji ) akj x (ji ) bk , k 1,2,..., n .
j 1 j k 1
Po dalszych przeksztaceniach dochodzimy do zalenoci:
n
a
j 1, j k
kj x (ji ) bk
xk( i 1) , dla akk 0, k 1,2,..., n. (4.53)
akk
Jako pocztkowe przyblienie wybiera si czsto wektor x(0)=0.
Warunek konieczny i dostateczny zbienoci jest speniony m.in. gdy
A jest nieredukowalna i diagonalnie dominujca.
Macierz A jest nieredukowalna, jeeli poprzez przestawienie wierszy
i kolumn nie mona jej sprowadzi do postaci blokowej grnej trjktnej.
110 Metody numeryczne w przykadach

Macierz A o wymiarze n x n nazywamy diagonalnie dominujc, jeli


n
dla i=1,2,...,n zachodzi nierwno aii a
j 1, j i
ij .

Przykad 4.7.
Zgodnie z definicj macierz:
3 1 0
A 0 2 2

4 1 5
jest macierz diagonalnie dominujc, poniewa dla kadego i=1,2,3
3
zachodzi aii a
j 1, j i
ij .

Jeli A jest macierz nieredukowaln i diagonalnie dominujc, to A


jest nieosobliwa i wszystkie elementy diagonalne macierzy A s rne od
zera.
Rwnie macierze symetryczne dodatnio okrelone s nieosobliwe,
a wszystkie ich elementy diagonalne s dodatnie.

4.3.2. Metoda Gaussa-Seidela


T
Zamy, e znamy ju przyblienie x (i ) x1(i ) , x2(i ) ,..., xn(i ) . W metodzie
Gaussa-Seidla nastpne przyblienie x (i1) wyznacza si tak, aby jego
kolejne wsprzdne x k(i 1) , (k=1,2,...n) speniay rwnania:
ak1 x1( i 1) ... akk xk( i 1) ak ,k 1 xk(i)1 ... akn xn(i ) bk (4.54)

Korzystajc z przedstawienia (4.49) macierzy A, moemy te


zalenoci zapisa w nastpujcy sposb:
(L D)x (i 1) Ux (i ) b ,
a std:
x (i 1) BGS x ( i ) c , (4.55)
4. Metody rozwizywania ukadw rwna liniowych 111

gdzie:
B GS ( L D) 1 U,
(4.56)
c ( L D) 1 b.
Warunkiem na to, eby macierz B GS bya dobrze okrelona, jest
niezerowo wszystkich elementw diagonalnych macierzy A.
Przeksztacajc rwnanie (4.54), otrzymujemy nastpujc zaleno
pomidzy wsprzdnymi kolejnych przyblie:
k 1 n
akj x (ji 1) a kj x (ji ) bk
j 1 j k 1
xk( i 1) , k 1,2,..., n. (4.57)
akk
Metoda Gaussa-Seidela, jako ulepszenie metody Jacobiego, zachowuje
te same warunki zbienoci. Jeeli macierz A jest dodatnio okrelona to
metoda Gaussa-Seidela jest zbiena dla dowolnego wektora
pocztkowego [8, 10].
Metod Gaussa-Seidela stosuje si niemal wycznie do ukadw
z macierz diagonalnie dominujc gdy w wielu praktycznych
zastosowaniach jest to atwy do spenienia warunek gwarantujcy
zbieno metody.

4.3.3. Metoda SOR (nadrelaksacji)


Modyfikacja metody Gaussa-Seidela, przyspieszajca zbieno
konstruowanego cigu (4.57), polega na przemnoeniu poprawki
obliczanej w (4.57) przez odpowiednio dobran liczb .
Ponownie korzystajc z wzoru (4.49) mamy:
( L D U ) x b
Dx Dx L D U x b (4.58)
( D L)x ( i 1) (1 )Dx ( i ) Ux ( i ) b
lub w rwnowanej postaci:
Dx(i 1) (1 )Dx(i ) (Lx (i 1) Ux (i ) b) . (4.59)
Przeksztacajc dalej otrzymujemy zaleno:
x (i 1) B x ( i ) c , (4.60)
112 Metody numeryczne w przykadach

gdzie:
B (D L) 1 ((1 )D U),
c (D L) 1 b.
Wzr (4.60) mona zapisa w postaci:
k 1 n
akj x (ji 1) akj x (ji ) bk
j 1 j k
xk( i 1) xk( i ) , k 1,2,..., n, (4.61)
akk
i dalej:
k 1 n
akk xk( i 1) (1 )akk xk( i ) akj x (ji 1) akj x (ji ) bk . (4.62)
j 1 j k
Dla =1 jest to metoda SOR (ang. successive over relaxation).
Zwikszajc wspczynnik , mona prbowa przyspiesza jej
zbieno. Parametr moe przyjmowa wartoci co najwyej
z przedziau (0, 2), gdy dla pozostaych wartoci metoda moe nie by
zbiena dla pewnych przyblie pocztkowych.

Metody Jacobiego i Gaussa-Seidela mona ewentualnie stosowa do


ukadw bardzo dobrze uwarunkowanych. Znacznie efektywniejsze,
szczeglnie dla zada o duym wskaniku uwarunkowania, jest uycie
metody SOR lub metody Czebyszewa.

Przykad 4.8.
Dla ukadu:
4x 1 - x 2 2

- x 1 4x 2 - x 3 6
- x 2 4x 3 2

obliczono kilka przyblie metodami Jacobiego, Gaussa-Seidela i SOR.
We wszystkich metodach przyjto x(1) =0.

Metoda Jacobiego
Dla metody Jacobiego, korzystajc ze wzoru (4.50) :
Dx(i+1)= -(L+U)x(i)+b,
4. Metody rozwizywania ukadw rwna liniowych 113

a std:
x(i+1)= -D-1(L+U)x(i)+D-1b.
Obliczamy kolejno:
x(2)= -D-1(L+U)x(1)+D-1b=
14 0 0 0 1 0 0 1 4 0 0 2 0.5
0 14 0 1 0 1 0 0 1 4 0 6 1.5 ,

0 0 4 0 1 0 0 0 0 1 4 2 0.5
1

x(3)= -D-1(L+U)x(2)+D-1b=
14 0 0 0 1 0 1 2 1 4 0 0 2 0.875
0 14 0 1 0 1 3 2 0 1 4 0 6 1.75 ,

0 0 1 4 0 1 0 1 2 0 0 1 4 2 0.875
x(4)= -D-1(L+U)x(3)+D-1b=[0.9375, 1.9375, 0.9375],
x(5)= -D-1(L+U)x(4)+D-1b=[0.9844,1.9688,0.9844].

Metoda Gaussa-Seidela
Korzystajc z metody Gaussa-Seidela okrelonej wzorami (4.55), (4.56):
x(i+1)= -(D+L)-1Ux(i)+(D+L)-1b,
wyznaczamy kolejne przyblienia:
x(2)= -(D+L)-1Ux(1)+(D+L)-1b=[0.5000, 1.6250, 0.9062],
x(3)= -(D+L)-1Ux(2)+(D+L)-1b=[0.9062, 1.9531, 0.9883],
x(4)= -(D+L)-1Ux(3)+(D+L)-1b=[0.9883, 1.9941, 0.9985],
x(5)= -(D+L)-1Ux(4)+(D+L)-1b=[0.9885, 1.9993, 0.9998].

Metoda SOR
W przypadku wykorzystania metody SOR zdefiniowanej wzorem (4.61):
x (i 1) (D L) 1 ((1 )D U)x (i ) (D L) 1 b ,
dla =1.2 otrzymujemy kolejno:
x(2)= [0.6000, 1.9800, 1.1940],
x(3)= [1.0740, 2.0844, 0.9865],
x(4)= [1.0105, 1.9822, 0.9974],
x(5)= [0.9926, 2.0005, 1.0007],
natomiast dla =1.1 mamy:
x(2)= [0.5500, 1.8013, 1.0453],
x(3)= [0.9903, 2.0297, 1.0036],
x(4)= [1.0091, 2.0005, 0.9998],
x(5)= [0.9998, 1.9997, 0.9999].
114 Metody numeryczne w przykadach

Dokadne rozwizanie ukadu jest rwne:


x=[1, 2, 1].
Z powyszych zestawie wynika wic, e metoda Jacobiego jest
zbiena najwolniej, natomiast najszybciej zbiena jest metoda SOR
w przypadku =1.1.

4.3.4. Metoda Czebyszewa


Zajmiemy si teraz metod rozwizywania wielkich ukadw rwna
liniowych Ax=b o symetrycznej dodatnio okrelonej macierzy A
wymiaru n x n.
Chcemy skonstruowa cig {xi} przyblie rozwizania x = A -1b ,
speniajcy rwnoci :
x (i ) x = Wi ( A)(x ( 0) x) , (4.63)

gdzie Wi jest wielomianem stopnia nie wikszego ni i, a x ( 0 ) jest danym


przyblieniem pocztkowym x.
Przeksztacajc (4.63) otrzymujemy zaleno:
x (i ) Wi ( A)x ( 0) (Wi ( A) - I)x .

W celu wyznaczenia wektora x (i ) naley obliczy (Wi (A) + I)x .


Wektor ten jest rwny:
(Wi ( A) + I)x = (ai( i ) A i ai(i 1) A i-1 ... + a1( i ) A)x + (a0( i ) 1)x
(ai( i ) A i 1 ai(i 1) A i-2 ... + a1( i ) I)b + (a0( i ) 1)x.

Musimy zatem zaoy, e a0(i ) 1 , co odpowiada warunkowi


Wi (0) 1. Z zalenoci (4.63) wynika oszacowanie:

x ( i ) x Wi ( A) 2 x ( 0) x .
2 2

Aby zapewni jak najlepsz zbieno cigu {x i } , musimy wybra


wielomian Wi o moliwie maej normie Wi (A) 2 . Poniewa A jest
z zaoenia macierz symetryczn, to Wi (A) 2 max Wi () , gdzie
naley do zbioru wartoci wasnych macierzy A. Na og nie znamy
wartoci wasnych macierzy A, a jedynie pewien przedzia <a,b>
zawierajcy te wartoci (0<a<b). Wwczas: Wi (A) 2 Wi max Wi () .
4. Metody rozwizywania ukadw rwna liniowych 115

Nie znajc wartoci wasnych macierzy A potrzebnych do minimalizacji


Wi (A) 2 , bdziemy minimalizowali Wi , do czego wystarcza nam
znajomo przedziau <a, b>.
Twierdzenie 4.4. (o wielomianach Czebyszewa)
Niech a, a 1 i b0 bd zadanymi liczbami. Spord wszystkich
wielomianw wk stopnia k speniajcych rwno wk (a) = b najmniejsz
norm ma wielomian :
b
wk Tk ,
Tk (a )
gdzie Tk jest k-tym wielomianem Czebyszewa okrelonym wzorem:

Tk ( x ) = 12 [( x + x 2 1) k ( x - x 2 1) k . (4.64)

Z powyszego twierdzenia wynika, e w klasie wielomianw stopnia


co najwyej i, speniajcych warunek Wi (0) 1, najmniejsz norm ma
wielomian:
Wi ( ) Ti ( f ( ))/Ti ( f (0)) , (4.65)
gdzie:
(b + a )
f ( ) = -2 .
(b - a ) (b - a )
Metoda (4.63), w ktrej wielomiany okrelone s przez (4.65), nosi
nazw metody Czebyszewa.
Zbieno cigu {x (i ) } konstruowanego w metodzie Czebyszewa jest
okrelona nierwnoci:
b a ( 0)
x (i ) x 2 x x .
(4.66)
2
b a
2

W celu skonstruowania cigu x


(i )
w metodzie Czebyszewa
zdefiniujmy:
ti Ti ( f (0)) = Ti ((b + a )/( b - a )) .
116 Metody numeryczne w przykadach

Z zalenoci wielomianw Czebyszewa wiadomo, e speniaj one


nastpujc zaleno rekurencyjn (wzr 3.68):
T0 ( ) 1 ,
T1 ( ) ,
Ti+1 ( ) 2 Ti ( ) Ti-1 ( ), i = 1,2,... .

Dla i=1 mamy zatem:


T1 ( f ( A)) ( 0)
x (1) x W1 ( A)(x ( 0) x) (x x)
t1
b+a A b+a A
T1 -2 -2
b-a b a ( 0) b-a b a ( 0)
(x x) = (x x) =
b+a b+a
T1
b-a b-a
2
I A (x ( 0) x ),
b+a
a std:
x (1) x ( 0) 2r ( 0) /(b + a ) , (4.67)
gdzie r ( 0) Ax ( 0) b .
Dla i1 moemy zapisa nastpujcy zwizek:
Ti +1 ( f ( A)) 2ti T ( f ( A)) ti 1 Ti-1 ( f ( A))
f ( A) i ,
ti +1 ti +1 ti ti +1 ti-1
czyli:
2t t
Wi+1 ( A) = i f ( A)Wi ( A) i 1 Wi-1 ( A) .
ti+1 ti+1
i dalej [5]:
2t b a 2 t
x ( i 1) x = i I A (x ( i ) x) i 1 (x ( i 1) x ) .
ti +1 b a ba ti +1
Uwzgldniajc zaleno ti +1 2ti (b + a) / (b - a) - ti -1 oraz wzr (4.67),
otrzymujemy zaleno rekurencyjn:
x (i 1) x (i ) ( pi 1 (x (i ) x (i 1) ) r (i ) ) / qi , i 0,1,... (4.68)
gdzie:
r (i ) Ax (i ) b,
4. Metody rozwizywania ukadw rwna liniowych 117

(b - a ) ti-1
p1 0, pi-1 ,
4 ti
(b - a ) ti-1
q0 (b + a )/ 2, qi = .
4 ti
Gwn czci kosztu wyznaczenia kolejnego przyblienia x (i 1) jest
koszt mnoenia wektora x (i ) przez macierz A, wykonywanego przy
obliczaniu wektora r (i ) . Realizacja metody Czebyszewa wymaga
pamitania dwch poprzednich przyblie x (i ) i x (i 1) , a wic co najmniej
3n miejsc w pamici.
W praktyce do rozwizywania wielkich ukadw liniowych czsto
stosuje si poczenie metody Czebyszewa z jedn z metod
gradientowych, omawianych w nastpnym rozdziale.

4.3.5. Metody gradientowe


Podobnie jak poprzednio zakadamy, e macierz A rozwizywanego
ukadu jest symetryczna i dodatnio okrelona.
Dla okrelenia rozwaanej klasy metod rozwizywania takich ukadw
potrzebna jest nam norma x B zdefiniowana rwnoci:

x B
(Bx, x) , gdzie (Bx, x) x T Bx ,

natomiast B jest dowoln macierz symetryczn, dodatnio okrelon


i tak, e AB=BA (jeli AB=BA to macierz B jest macierz komutujc
z macierz A).
W metodach gradientowych konstruuje si cig przyblie { x (i ) }
rozwizania x Ax(i ) b ze wzorw:
x (i 1) x (i ) ci r (i ) , r (i ) Ax (i ) b . (4.69)
Wspczynniki ci dobiera si tak, aby zminimalizowa bd
(i 1)
x (i1)
x , tzn. x x inf x(i ) x cr(i 1) . Minimalizacja ta ma
B c B

charakter lokalny. W danym kroku dla przyblienia x i szukamy jego


najlepszej poprawki w kierunku wektora r (i ) . Mona sprawdzi, e:
(r ( i ) , B(x ( i ) x ))
ci . (4.70)
(r ( i ) , Br ( i ) )
118 Metody numeryczne w przykadach

Tak okrelony wspczynnik ci potrafimy obliczy jedynie dla


pewnych macierzy B. Jest tak np. dla B A p , gdzie p jest liczb
naturaln. Wtedy bowiem zachodzi rwno:
(r (i ) , B(x (i ) x)) (r (i ) , A p-1r (i ) ).
Dla B=A metoda (4.48)-(4.49) nosi nazw metody najszybszego
spadku. W kadym jej kroku minimalizowana jest wielko:
x i+1 x A
( A(x i+1 x), (x i+1 x )) (ri+1 , x i+1 x) .

W oglnym przypadku dowodzi si, e:


cond ( A) 1 i
x ( i 1) x x x ,
B
cond ( A) 1 B

gdzie cond(A) oznacza liczb uwarunkowania macierzy A definiowan


jako:
cond ( A) A A 1 .

Metoda gradientowa moe wic definiowa cig przyblie { x (i ) }


bardzo wolno zbieny do rozwizania x, dla zada le uwarunkowanych
(dua liczba uwarunkowania). Wydaje si wic rzecz naturaln, e do
konstrukcji metod szybciej zbienych mona doj w podobny sposb,
jak w przypadku metody Czebyszewa.
Rozwamy ponownie metody iteracyjne x (i ) x Wi (A)(x (0) x) ,
gdzie Wi jest wielomianem stopnia co najwyej i, speniajcym warunek
Wi (0) 1. Wybierajc odpowiednie wielomiany Wi minimalizujce bd
x (i ) x , otrzymujemy rekurencyjn definicj tworzonego cigu {x (i )} :
B

z (i ) x ( i ) ci r ( i ) ,

r (i ) Ax (i ) b , (4.71)
x ( i 1) z ( i ) ui y ( i ) ,
y ( i ) x ( i 1) z ( i ) ,
gdzie:

ci
r , B(x ( i ) x )
(i )
,
(r ( i ) , Br ( i ) )
4. Metody rozwizywania ukadw rwna liniowych 119

( y ( i ) , B( z ( i ) x ))
u0 0, ui dla i = 1,2,... (4.72)
( y ( i ) , By ( i ) )
Kady krok metody (4.71) skada si z dwch etapw. Najpierw
jednym krokiem metody gradientowej (4.69) wyznaczamy z(i ) , czyli
moliwie najlepiej poprawiamy przyblienie x (i ) w kierunku
wyznaczonym przez wektor r (i ) . W drugim etapie postpujemy tak samo
z z(i ) , zmieniajc kierunek poprawki na y (i ) .
Zalenie od wyboru macierzy B definiuje si rne warianty
omawianej metody. Przyjcie B A p , gdzie p=0,1,2 wydaje si
wyczerpywa wszystkie przypadki o praktycznym znaczeniu.
Dla B A 0 I metoda nosi nazw metody minimalnych bdw,
gdy wielkoci minimalizowan jest x (i ) x . Odnosi si to tylko do
2

przypadku ukadu Ax=b, gdzie A M M , a M jest znan macierz


T

nieosobliw. Zaoenie takie jest potrzebne, aby mc wyznaczy


wspczynniki ci i ui okrelone wzorami (4.72).
Dla B = A 1 otrzymujemy metod sprzonych gradientw (ang.
conjugate gradient, C-G), minimalizujc A 1/2 (x (i ) x) . Metoda ta
2
daje dokadne rozwizanie po n iteracjach, ale jest numerycznie nie
poprawna, a to powoduje, e bardzo szybko nastpuje liniowa zaleno
gradientw. Jednym ze sposobw radzenia sobie z t dolegliwoci jest
stosowanie tzw. RESTART-u co kilka lub kilkanacie iteracji.
Wariant metody dla B A 2 , w ktrym minimalizowane s wektory
residualne r (i ) (gdy x(i ) x 2 A(x(i ) x) ), nazywany jest metod
A 2
minimalnych residuw.
Metody gradientowe nie s polecane ze wzgldu na numeryczn
niestabilno. Dobre wyniki daje natomiast poczenie metod
gradientowych z numerycznie stabiln metod Czebyszewa.

4.4. Macierze specjalne


Wiele problemw inynierskich prowadzi do rozwizywania ukadw
rwna liniowych z tzw. macierz rzadk.
Macierz rzadk nazywamy macierz zawierajc duo zer. Miar
rzadkoci macierzy jest stosunek liczby jej elementw niezerowych do
120 Metody numeryczne w przykadach

oglnej liczby elementw: s=liczba_zer/liczba_elementw Przykadami


macierzy rzadkich s macierze wstgowe, diagonalne, trjdiagonalne,
trjktne.
Wiele zagadnie (np. metody numeryczne suce do rozwizywania
rwna rniczkowych czstkowych) prowadzi do ukadw liniowych
rzadkich, w ktrych elementy niezerowe s rozmieszczone wzdu
gwnej przektnej.
Oglnie macierz A tak, e aij=0 jeeli j > i+p lub i > j+q nazywa si
macierz wstgow o szerokoci wstgi w = p+q. Liczba niezerowych
elementw w dowolnym wierszu lub kolumnie macierzy A nie
przewysza w, a oglna liczba niezerowych elementw jest mniejsza od
w x n, gdzie n oznacza stopie macierzy A.
Dla macierzy symetrycznej istnieje jeszcze inna definicja: szeroko
wstgi wynosi m wtedy i tylko wtedy, gdy aij0 jeeli |i-j|m. Jeeli w=0,
otrzymujemy macierz diagonaln, jeeli p=q=1, otrzymujemy macierz
trjdiagonaln.
Do rozwizywania ukadw z macierzami rzadkimi mona stosowa
zarwno metody omwione do tej pory (np. eliminacj Gaussa), jak te
metody korzystajce w istotny sposb z rzadkoci macierzy. Metody takie
pozwalaj rozwiza ukad rwna z macierz rzadk wykonujc
znacznie mniej dziaa arytmetycznych, ni w przypadku ukadu o tej
samej liczbie rwna z macierz gst. Umoliwiaj take wyznaczenie
rozwizania z wiksz dokadnoci i przy oszczdniejszym
wykorzystaniu pamici komputera.
Technika macierzy rzadkich pozwala na:
oszczdne gospodarowanie pamici przez zapamitanie tylko
niezerowych wspczynnikw ukadu, ich pozycji w macierzy
oraz minimum danych umoliwiajcych efektywne docieranie do
tych elementw. Wwczas zajto pamici jest proporcjonalna
tylko do liczby elementw niezerowych;
wykonywanie operacji tylko na elementach niezerowych macierzy
i wektora prawych stron, prowadzce do zmniejszenia liczby
operacji w stosunku rwnym mierze rzadkoci;
skuteczny i szybki wybr elementw podstawowych przy
zachowaniu rzadkoci macierzy.
4. Metody rozwizywania ukadw rwna liniowych 121

4.4.1. Reprezentacja macierzy w strukturach danych

Ortogonalne listy powizane


Najwaniejszym systemem reprezentacji macierzy w strukturach danych
jest struktura ortogonalnych list powizanych. System list powizanych
stanowi dwukierunkowo zwizany wskanikami system struktur. Kada
struktura reprezentuje jeden element niezerowy. Zawiera ona nastpujce
dane:
value - warto elementu niezerowego,
row - numer wiersza elementu,
col - numer kolumny elementu,
next_in_row - wskanik do takiej samej struktury reprezentujcej
nastpny element niezerowy w wierszu,
next_in_col - wskanik do takiej samej struktury reprezentujcej
nastpny element niezerowy w kolumnie.
Ortogonalny dwukierunkowy charakter list polega na tym, e od
kadego elementu macierzy poprzez wskanik mona dosta si do
nastpnego elementu w wierszu oraz nastpnego elementu w kolumnie.
Aby znale elementy pierwsze w wierszach lub kolumnach potrzebne
s dodatkowo dwie tablice:
first_in_row[n] - zawierajca wskaniki na struktury w listach
reprezentujce pierwsze elementy w kadym wierszu,
first_in_col[n] - zawierajca wskaniki na struktury w listach
reprezentujce pierwsze elementy w kadej kolumnie.
Dodatkowo tworzy si tablic diag[n] zawierajc wskaniki na
struktury reprezentujce elementy z gwnej przektnej macierzy. Wska-
nik zerowy oznacza brak elementu nastpnego w licie.

Wektory s,u (dla macierzy symetrycznych)


Dolny trjkt macierzy symetrycznej A stopnia n zapamituje si wiersz
po wierszu. W kadym wierszu pamita si tylko elementy poczwszy od
pierwszego elementu niezerowego a do gwnej przektnej (wraz
z zerami jeeli s w tej czci wiersza). Zapamitane elementy macierzy
tworz wektor s=(s1,s2,...,sUn). Wraz z nimi zapamituje si wektor
wskanikw: u=(u1,u2,...,un), gdzie warto ui wskazuje na pozycj i-tego
elementu w wektorze s.
122 Metody numeryczne w przykadach

Przykad 4.9.
Macierz symetryczn:
[25] 3 0 0 0
[ 3 21] 2 4 0
A 0 [2 23] 0 0 ,

0 [4 0 22] 1
0 0 0 [1 20]
zapamitujemy w postaci wektorw s i u:
s ([25], [3, 21], [2, 23], [4, 0, 22], [1, 20]),
u( 1, 3, 5, 8, 10).
i 1 i2 i3 i4 i5
W tym przykadzie przyjty sposb pamitania macierzy A nie
przynis adnej oszczdnoci, ale inaczej byoby np. dla macierzy
100 x 100 o 400 niezerowych elementach.

Graf
Struktur macierzy symetrycznej rzadkiej mona wyrazi za pomoc
grafu, w ktrym wierzchoki i,j s poczone ukiem wtedy i tylko wtedy,
gdy aij0. Mwimy wtedy, e wierzchoki i,j s ssiednie. Liczba ukw
wychodzcych z danego wierzchoka nazywa si stopniem. Permutacja
oznacza zmian symboli wierzchokw. Dla macierzy niesymetrycznej
elementy aij i aji nie musz by jednoczenie zerami. W takim przypadku
trzeba posugiwa si grafem zorientowanym, w ktrym kady uk ma
wyrniony kierunek.

Wektory AN, JA, IA.


W pewnych zastosowaniach wystpuj bardzo due macierze nie-
symetryczne rzadkie o wysoce nieregularnym rozmieszczeniu
niezerowych elementw. Mona wtedy opisa struktur danych macierzy
rzadkiej A za pomoc trzech wektorw AN, JA, IA. Wektor AN zawiera
niezerowe elementy z kolejnych wierszy (zer wystpujcych midzy nimi
nie trzeba pamita). Dla elementu AN(k) w JA(k) podaje si numer
kolumny, w ktrej ten element znajduje si w macierzy A. Natomiast
IA(i) zawiera pozycj pierwszego elementu i-tego wiersza z macierzy A
w tablicach JA i AN.
4. Metody rozwizywania ukadw rwna liniowych 123

Przykad 4.10.
Macierz rzadk 6 x 6 przedstawimy za pomoc odpowiednich wektorw
AN, JA i IA.
7 0 3 0 1 0
2 8 0 0 0 0
0 0 1 0 0 0
A ,
3 0 0 5 0 0
0 1 0 0 4 0
0 0 0 2 0 6

Odpowiednie wektory maj posta:
AN=(7, -3, -1, 2, 8, 1, -3, 5, -1, 4, -2, 6),
JA =(1, 3, 5, 1, 2, 3, 1, 4, 2, 5, 4, 6),
IA =(1, 4, 6, 7, 9, 11, 13).

4.4.2. Metody dokadne dla ukadw z macierzami rzadkimi


Metoda eliminacji Gaussa oraz metoda LU nie znalazy szerokiego
zastosowania do rozwizywania ukadw z macierzami rzadkimi.
Spowodowane jest to przede wszystkim brakiem skutecznych metod
wyboru elementu podstawowego, ktre z jednej strony zapewniayby
niezawodno i stabilno numeryczn, z drugiej za strony nie
powodowayby pojawienia si duej liczby nowych elementw
niezerowych. W niektrych przypadkach warto jednak skorzysta
z metod stosowanych dla macierzy gstych (np. dla ukadw
z macierzami trjdiagonalnymi).

Ukady o macierzach wstgowych


Wiele zagadnie prowadzi do ukadw liniowych rzadkich, w ktrych
elementy niezerowe s rozmieszczone wzdu gwnej przektnej. Proces
eliminacji Gaussa nie zmienia struktury macierzy wstegowej. Jeli nie
przestawia si wierszy ani kolumn to czynniki trjktne L=(lij) i U=(uij)
s macierzami wstgowymi takimi, e:
lij=0, jeli j>i lub i>j+q,
uij=0, jeli j>i+p lub i>j.
Jeeli dokonujemy czciowego wyboru elementu gwnego, to
w macierzy L szeroko wstgi nie zmienia si, natomiast szeroko
wstgi w U bdzie taka jak w A, czyli:
uij=0, jeli j>i+p+q lub i>j.
124 Metody numeryczne w przykadach

Rozwizywanie ukadw o macierzach trjdiagonalnych


Czstym przypadkiem macierzy wstgowej jest macierz, w ktrej p=q=1,
tzn. trjprzektniowa (trjdiagonalna). Ukad rwna o takiej macierzy
rozwizuje si znacznie szybciej i prociej. Jeli istnieje jej rozkad
trjktny, to mona go przedstawi w postaci:
a1 c1 0 1 0 y1 c1 0
b2 a 2 c2 z2 1 y2 c2
... ... ... ... ... ...

bn1 a n1 cn 1 zn 1 1 yn1 cn1
0 bn a n 0 zn 1 0 yn
gdzie:
y1 a1 ,
z k bk / y k 1 (jesli tylko y k -1 0),
y k a k z k ck 1 , k = 2,3,..., n.
Jeli yk 1 0 dla pewnego k to musimy skorzysta z omwionej ju
metody Gaussa-Jordana lub LU.
Nastpnie rozwizujemy ukad Ax=f (gdzie f jest znanym wektorem
prawej strony) stosujc podstawienie wprzd i wstecz :
g1 f1 , g i f i zi g i 1 , i 2,3,..., n,
xn g n / yn , xi g i ci xi 1 / yi , i n 1,...,1.
czna liczba dziaa arytmetycznych wynosi tu tylko 3(n-1) dodawa
i mnoe, i 2n-2 dziele.

4.4.3. Rozwizywanie ukadw rwna liniowych - wnioski


W przypadku macierzy penych, liczba oblicze potrzebna do uzyskania
rozwizania metod iteracyjn jest zwykle znacznie wiksza ni przy
stosowaniu metod dokadnych. Jednak w przypadku macierzy rzadkich
metody iteracyjne mog by lepsze ni metody dokadne. Nie nakad
oblicze jednak decyduje o tym (chocia zwykle jest mniejszy), lecz fakt,
e podczas oblicze nie zmieniamy pooenia elementw macierzy A
ukadu rwna Ax=b, a zatem zachowujemy jej rzadk struktur.
Moemy wwczas przyj jedn z podanych metod zapamitywania
macierzy A oraz korzysta z prostych algorytmw obliczeniowych. Nie
moemy jednak kategorycznie stwierdzi, e w przypadku macierzy
4. Metody rozwizywania ukadw rwna liniowych 125

rzadkich metody iteracyjne s bardziej wskazane, poniewa


w szczeglnych przypadkach liczba iteracji moe by bardzo dua.

4.5. Przykady obliczeniowe


Przykad 4.11.
Znale macierz odwrotn A 1 macierzy:
2 1 2
A 1 2 3

4 1 2
a) rozwizujc ukad AX=I z czciowym wyborem elementw
gwnych,
b) znajdujc rozkad trjktny i korzystajc z wzoru A 1 U 1L1 .

Po obliczeniu macierzy odwrotnej metod AX=I szukana macierz


odwrotna ma posta:
0.5 4,547473508910 13 0.5

5 2 2 .
3.5 1 1.5

Po skorzystaniu z metody A-1 = U-1 L-1 szukana macierz odwrotna ma


posta:
0.5 0 0.5
5 2 2 .

3.5 1 1.5

W obydwu metodach wywoywana jest ta sama procedura eliminacji


Gaussa z czciowym wyborem elementw gwnych, ale jak wida
dokadno metody pierwszej (A X = I) jest nieco mniejsza.
126 Metody numeryczne w przykadach

Przykad 4.12.
a) Pokaza, e macierz symetryczna:
10 7 8 7
7 5 6 5
A jest dodatnio okrelona,
8 6 10 9

7 5 9 10
b) Wyznaczy macierz trjktn R tak, e A R T R .

Ad a)
Z symetrycznej wersji eliminacji Gaussa:
a (k )
mik ki( k ) , aij( k 1) aij( k ) mik akj( k ) (i=k+1, k+2, ... ,n , j=i, i+1, ..., n),
akk
otrzymujemy kolejno nastpujce zredukowane macierze (wystarcza
tylko przeksztaca ich czci grne trjktne):
10 7 8 7
0.1 0.4 0.1
5 6 5 2 3
, 3.6 3.4, , 0.5.
10 9 5
5.1
10
Poniewa elementy gwne: 10; 0.1; 2; 0.5 s dodatnie, wic macierz
A jest dodatnio okrelona.

Ad b)
Z twierdzenia o rozkadzie trjktnym dla macierzy A symetrycznej
dodatnio okrelonej istnieje jedyna macierz trjktna grna R o dodatnich
elementach na gwnej przektnej i taka, e A R T R . Z twierdzenia
o rozkadzie LU wynika, e:
A=LU,
det( Ak )
gdzie u11=a11>0 i ukk 0 , (k=2,3, ... ,n).
det( Ak 1)
Wprowadzajc macierz przektniow D diag(u11, u22 ,..., unn ) ,
moemy napisa rozkad:
A LDD1U LDU' ,
gdzie U' D1U , a macierze L i U s trjktne, maj jedynki na gwnej
przektnej i s jednoznacznie okrelone.
4. Metody rozwizywania ukadw rwna liniowych 127

Z symetrii A wynika, e:
A A T (U' ) T DLT ,
czyli:
LT U' D 1U .
1 1

Przyjmujc R D 2 U , gdzie macierz przektniowa D 2
ma dodatnie
1

2
elementy u , otrzymujemy:
kk

R T R U D 1U LU A .
T

W symetrycznej eliminacji Gaussa nie trzeba pamita mnonikw.


Ukad Ax b w tym przypadku rozkada si na dwa ukady trjktne:
U T y b i Ux Dy (unikamy w ten sposb pierwiastkowania). Wobec
1

tego R D U , jest macierz trjktn grn o dodatnich elementach na
2

gwnej przektnej tak, e A=RTR.


10 7 8 7
0 0.1 0.4 0.1
R ;
0 0 2 3

0 0 0 0.5
1 1 1 1 1

D 2
diag(10 2 ,10 2 ,2 2 ,2 2 ) .

Przykad 4.13.
W ukadzie rwna Ax=b dane s:
0.780 0.563 0.217
A , b .
0.913 0.659 0.254
Dokadnym rozwizaniem jest wektor:
x T [1,1] .
Dodatkowo dane s dwa rozwizania przyblione:
x 1T [0.999,1001
. ] , x 2T [0.341,0.087] .
Obliczy wartoci residuw r(x1 ) , r(x 2 ) oraz wyznaczy wskanik
uwarunkowania cond(A), korzystajc z normy maksimum oraz
z macierzy:
659000 563000
A 1 .
913000 780000
128 Metody numeryczne w przykadach

Jeeli x' jest obliczonym rozwizaniem ukadu Ax = b, to wektor


residuum ma posta:
r = b Ax'.
Residuum r1 = b - Ax1' dla rozwizania przyblionego x1:
0.217 0.780 0.563 0.999
r1
0.254 0.913 0.659 1.001
0.217 0.780 0.999 0.563 ( 1.001) 1.24 10 3
3
.
0.254 0.913 0.999 0.659 ( 1.001) 1.57 10
Residuum r2 = b - Ax2' dla rozwizania przyblionego x2:
0.217 0.780 0.563 0.341
r2
0.254 0.913 0.659 0.087
0.217 0.780 0.341 0.563 ( 0.087) 1 10 6
.
0.254 0.913 0.341 0.659 ( 0.087) 0
Z powyszego wynika, e nie zawsze mniejsza warto residuum
odpowiada lepszemu rozwizaniu. Moe si tak zdarzy w przypadku
macierzy o duym wskaniku uwarunkowania (liczba warunkowa), tak
jak ma to miejsce w analizowanym przypadku.
Wskanik uwarunkowania cond(A) dla macierzy okrela si wzorem
(patrz rozdzia 4.2.5) cond( A) || A|| || A 1 || . W przykadzie rozwaamy
norm maksimum, definiowan jako:
n
|| A || max | aij | .
1i n
j 1

Normy macierzy A oraz macierzy A-1 s rwne:


n
|| A || max | aij | (| 0.780 | | 563000 |;| 91300 | | 0.659 |)
1i n
j 1

max( 1.343;1.572) 1.572


n
|| A 1 || max | aij | (| 659000 | | 563000 |;| 913000 | | 780000 |)
1i n
j 1

= max( 1.343;1693000) 1693000


a wskanik uwarunkowania cond(A):
cond(A) 1.572 1693000 2661396 .
4. Metody rozwizywania ukadw rwna liniowych 129

Przykad 4.14.
Obliczy przyblione rozwizanie ukadu Ax=b, gdzie:
0.95 0.07 0 0 0.05 0.01 0.5
0.07 0.95 0.07 0 0 0.04 0.5

0 0.007 0.95 0.06 0 0 0.5
A , b .
0 0 0.06 0.95 0.06 0 0.5
0.05 0 0 0.06 0.95 0.06 0.5

0.01 0.04 0 0 0.06 0.95 0.5

Obliczenia wykona dla kilku wybranych metod iteracyjnych. Jako


kryterium koca oblicze przyj: rk .

Obliczenia przeprowadzono dla nastpujcych dokadnoci : 0.001,


0.0001, 0.00001, 0.000001, przyjmujc pocztkowe przyblienia
rozwizania x (0) x1 , x2 ,..., x6 rwne kolejno:
[0,0,0,0,0,0], [10,10,10,10,10,10], [100,...,100], [10000,...,10000].

Tabela 4.1. przedstawia porwnanie wybranych metod pod wzgldem


liczby koniecznych iteracji przy danej dokadnoci bezwzgldnej i danych
pocztkowych przyblieniach rozwizania.

Na podstawie tabeli 4.1, dla rozpatrywanej macierzy A najszybciej


zbiena jest metoda Czebyszewa. Metody Jacobiego i Gaussa-Seidela s
porwnywalne, przy czym niewielk przewag ma metoda Gaussa-
Seidela.
130 Metody numeryczne w przykadach
Tabela 4.1. Wyniki otrzymane w przykadzie 4.14

Pocztkowe przyblienie Liczba iteracji w metodzie


x(0) Jacobiego Gaussa-Seidela Czebyszewa
bezwzgldna dokadno = 0,001
[0,0,0,0,0,0] 5 5 2
[10,10,...,10] 7 6 2
[100,100,...,100] 8 7 2
[1000,...,1000] 9 9 3
bezwzgldna dokadno = 0,0001
[0,0,0,0,0,0] 6 6 2
[10,10,...,10] 8 7 2
[100,100,...,100] 9 9 3
[1000,...,1000] 10 10 3
bezwzgldna dokadno = 0,00001
[0,0,0,0,0,0] 7 7 2
[10,10,...,10] 9 9 3
[100,100,...,100] 10 10 3
[1000,...,1000] 11 11 3
bezwzgldna dokadno = 0,000001
[0,0,0,0,0,0] 9 9 3
[10,10,...,10] 10 10 3
[100,100,...,100] 11 11 3
[1000,...,1000] 13 12 3

Przykad 4.15.
Dana jest macierz A i wektor b postaci jak poniej.:
3 1 0 0 0 1 1
1 3 1 0 1 0 2

0 1 3 1 0 0 3
A , b .
0 0 1 3 1 0 0
0 1 0 1 3 1 2

1 0 0 0 1 3 3
Porwna zbieno metod Jacobiego i Gaussa-Seidela w zalenoci
od dokadnoci oblicze. Jako kryterium koca oblicze przyj: rk 1 .
4. Metody rozwizywania ukadw rwna liniowych 131

Rozwizanie rwnania Ax = b jest nastpujce:

x1 2.6339285714
x 3.7857142857
2
x3 3.0089285714
x
x 4 2.24107142286
x5 3.7142857143

x6 3.116071286
W celu lepszego zobrazowania rnic szybkoci zbienoci metod
iteracyjnych otrzymane wyniki zestawiono w tabeli 4.2 i na wykresach
(rysunki 4.1 - 4.2).
Na podstawie przeprowadzonych oblicze stwierdzono, e:
najwiksza co do wartoci bezwzgldnej warto wasna
analizowanej macierzy wynosi 0.85292 i jest mniejsza od jednoci
a tym samym spenia warunek konieczny i dostateczny zbienoci
metod iteracyjnych;
najwiksza co do wartoci bezwzgldnej norma macierzy wynosi
0.9265 i poniewa jej modu jest mniejszy od jednoci wic
warunek wystarczajcy zbienoci metod iteracyjnych jest
rwnie speniony;
szybsza zbieno metody Gaussa-Seidela jest prawd
w przypadku, gdy punkt startowy x(0) jest w pobliu rozwizania,
w przeciwnym razie szybciej zbiena jest metoda Jacobiego;
dla osignicia dziesiciokrotnie wikszej dokadnoci potrzeba
okoo dwa razy wikszej liczby iteracji;
rnice w szybkoci zbienoci poszczeglnych metod s
minimalne szczeglnie przy obliczeniach z du dokadnoci .
132 Metody numeryczne w przykadach

WYKRES ZALEZNOSCI SZYBKOSCI ZBIENOCI


300 274 278

250

200
LICZBA 148 150
150
ITERACJI
105 109
100
59 58
50

0
1e-6 1e-3 1e-2 1e-1 1e-6 1e-3 1e-2 1e-1
metoda Jacobiego metoda Gaussa-Seidla
(relaksacji przy w=1)

Rys. 4.1. Zaleno liczby iteracji od dokadnoci oblicze dla metod Jacobiego
i Gaussa-Seidela

PROCES ZBIENOCI DLA METOD ITERACYJNYCH


4.00
x2
x5

x6
Wartoci x1-x6 w kolejnych iteracjach

3.00 x3

x1

x4
2.00

1.00

0.00

0.00 10.00 20.00 30.00 40.00


Numer iteracji

Rys. 4.2. Proces zbienoci dla metod iteracyjnych


4. Metody rozwizywania ukadw rwna liniowych 133
Tabela 4.2. Wyniki otrzymane w przykadzie 4.15

Dokadno Wektor startowy Liczba iteracji potrzebna do


osignicia dokadnoci metod
eps x(0) Jacobiego Gaussa-
Seidela
0.1 [0,0,0,0,0,0] 6 5
[10,10,...,10] 6 6
[100,100,...,100] 18 18
[1000,...,1000] 29 29
suma iter. 59 58
0.01 [0,0,0,0,0,0] 16 15
[10,10,...,10] 17 20
[100,100,...,100] 31 32
[1000,...,1000] 41 42
suma iter. 105 109
0.001 [0,0,0,0,0,0] 26 25
[10,10,...,10] 29 30
[100,100,...,100] 41 42
[1000,...,1000] 52 53
suma iter. 148 150
10-6 [0,0,0,0,0,0] 58 57
[10,10,...,10] 60 62
[100,100,...,100] 73 74
[1000,...,1000] 83 85
suma iter. 274 278

Przykad 4.16.
Przedmiotem tego zadania jest wyznaczenie macierzy B z rwnania
macierzowego AB = C, gdzie macierz A jest macierz kwadratow n x n,
macierze B i C mog by macierzami prostoktnymi n x m. Naley
znale algorytm wyznaczenia macierzy B przy wykorzystaniu eliminacji
Gaussa i przeanalizowa jego wasnoci.
Klasyczny algorytm eliminacji Gaussa suy do znajdowania
rozwizania ukadu rwna liniowych Ax=b, czyli wyznacza wektor
rozwiza x przy danej macierzy kwadratowej A i wektorze wyrazw
wolnych b.
W przypadku rwnania AB = C, aby wyznaczy macierz B stosujc
klasyczne zasady rachunku macierzowego, naleaoby rozwiza
nastpujce rwnanie: B =A-1C. Na og jest to kopotliwe i czasochonne
134 Metody numeryczne w przykadach

ze wzgldu na konieczno dokonania odwrcenia macierzy A.


Niezalenie od zastosowanego algorytmu odwracania macierzy, naley
dodatkowo dokona mnoenia macierzy odwrconej oraz macierzy C.
Liczba wykonanych podstawowych operacji matematycznych jest wic
dosy dua. Analizujc sposb mnoenia dwch macierzy moemy
zauway interesujc nas zaleno: tj. kada pojedyncza kolumna
macierzy C jest wynikiem mnoenia macierzy A przez odpowiadajc
kolumn macierzy B, a pozostae kolumny nie wpywaj na jej posta.
Praktycznie, mnoenia dwch macierzy mona dokona
w m niezalenych procesach (gdzie m jest liczb kolumn macierzy B i C).
Odwracajc zagadnienie: znalezienie dowolnej kolumny macierzy B
wymaga rozwizania ukadu rwna liniowych z praw stron rwn
odpowiadajcej kolumnie w macierzy C. Przypadek ten doskonale mona
wykorzysta do eliminacji Gaussa: rozwizujc m ukadw rwna
liniowych otrzymamy m wektorw odpowiedzi, ktre bd szukanymi
kolumnami macierzy B.
Najprostszym rozwizaniem zagadnienia byoby m-krotne wywoanie
eliminacji Gaussa ze zmieniajcym si wektorem wyrazw wolnych b.
Takie postawienie problemu zaprzeczaoby wczeniejszym rozwaaniom
na temat iloci dokonywanych operacji matematycznych. Podstaw
eliminacji Gaussa jest przeksztacenie macierzy A do rwnowanej
macierzy grnej i przeksztacenie to jest niezalene od prawej strony
rwnania. Natomiast m-krotne wywoanie eliminacji powodowaoby
m-krotne wykonywanie tych samych oblicze przy przeksztacaniu
macierzy A. Dlatego w algorytmie podczas eliminacji Gaussa naley
modyfikowa ca macierz C, dziki czemu liczba dziaa jest minimalna.
W przypadku wystpienia elementu zerowego na przektnej macierzy
A podczas eliminacji, naley dokona przestawienia wiersza z pierwszym
napotkanym w kolumnie elementem niezerowym. Nie wpywa to na
rozwizanie (tak jak w zwykym ukadzie rwna liniowych
przestawianie wierszy nie ma wpywu na wynik).

Analiza liczby dziaa elementarnych algorytmu


Pod terminem dziaania elementarne naley rozumie dodawanie,
odejmowanie, mnoenie i dzielenie tj. dziaania elementarne z punktu
widzenia matematyki, a nie procesora. Przedstawiona analiza jest wic
analiz ogln, ale daje pewien obraz skomplikowania algorytmu.
W przykadzie tym przedstawiona zostanie analiza algorytmu
w porwnaniu do podstawowego algorytmu mnoenia dwch macierzy.
4. Metody rozwizywania ukadw rwna liniowych 135

Wybr ten wydaje si by odpowiedni, gdy:


mnoenie macierzy jest atwe do wykonania i atwo bdzie
porwna wyniki ilociowe dziaa;
moliwe bdzie wycignicie wnioskw co do skutecznoci
algorytmu w porwnaniu ze wspomnianym klasycznym sposobem
wyznaczania macierzy B tj. wedug wzoru B = A-1 C.

Po dokadnej analizie wykonywanych dziaa przeprowadzonej za


pomoc odpowiedniego programu, okazuje si, e dla macierzy Anxn,
Bnxm, Cnxm:
mnoenie A B wymaga wykonania: n2m elementarnych mnoe
oraz (n2-n)m elementarnych dodawa;
wyznaczenie B przy wykorzystaniu eliminacji Gaussa wymaga
wykonania mn+(n2-n)/2 elementarnych dziele, (n2-n)(3m+n+1)/3
elementarnych mnoe oraz (n2-n)(3m+n+1)/3 elementarnych
odejmowa.

W celu uatwienia porwnania, na rysunkach 4.3 i 4.4 przeprowadzono


graficzn analiz liczby dziaa ( suma dziaa bez rozrniania mnoe,
dodawa i odejmowa) w zalenoci od m przy staym n, lub
w zalenoci od n przy staym m.

Wykresy na rysunku 4.3a i 4.3b (przy staym n) wykazuj, e dla


danego n rnica dziaa jest w przyblieniu staa, std dla duych
wartoci m rnica ta procentowo nie jest dua (rnica ta ronie wraz
z wartoci n).

Wykresy na rysunku 4.4a i 4.4b (przy staym m) wykazuj, e dla


maego m (np. 3), przy wikszych wartociach n rnica staje si dua,
bardziej opacalny jest wic przypadek z wiksz wartoci m (np. 10).
136 Metody numeryczne w przykadach
liczba dziaa wymiar n=3
200

mnoenie A x B

liczenie B z wykorzystaniem eliminacji Gaussa


160

120

80

40

0 m
2 3 4 5 6 7 8 9 10

Rys. 4.3a. Porwnanie efektywnoci metod rozwizywania rwnania AB=C dla n=3

liczba dziaa wymiar n=10


3000

mnoenie A x B

liczenie B z wykorzystaniem eliminacji Gaussa

2000

1000

0 m
2 3 4 5 6 7 8 9 10

Rys. 4.3b. Porwnanie efektywnoci metod rozwizywania rwnania AB=C dla n =10
4. Metody rozwizywania ukadw rwna liniowych 137
liczba dziaa wymiar m=3
1600

mnoenie A x B

liczenie B z wykorzystaniem eliminacji Gaussa

1200

800

400

0 n
2 3 4 5 6 7 8 9 10

Rys. 4.4a. Porwnanie efektywnoci metod rozwizywania rwnania AB=C dla m=3

liczba dziaa wymiar m=10


3000

mnoenie A x B

liczenie B z wykorzystaniem eliminacji Gaussa

2000

1000

0 n
2 3 4 5 6 7 8 9 10

Rys. 4.4b. Porwnanie efektywnoci metod rozwizywania rwnania AB=C dla m=10
138 Metody numeryczne w przykadach

Reasumujc, zaprezentowane wykresy dowodz przydatnoci


algorytmu pod wzgldem liczby dziaa dla wikszych wartoci m,
aczkolwiek dla innych wartoci liczba dziaa take nie jest zbyt dua.
Kade dziaanie arytmetyczne obarczone jest bdem zaokrglenia
wyniku, ale bd wzgldny dla wszystkich dziaa jest taki sam.
Niebezpieczestwo tkwi w odejmowaniu liczb zblionych do siebie
nastpuje redukcja cyfr najbardziej znaczcych. Dodatkowo problem
polega na tym, e elementy przez ktre dzielimy s obarczone duym
bdem wytworzonym we wczeniejszych iteracjach (zobacz przykad
1.9). Pewn popraw dokadnoci mona uzyska stosujc znany
w eliminacji Gaussa wybr elementu podstawowego.

Przykad 4.16
Wyprowadzi wzory eliminacji Gaussa dla macierzy piciodiagonalnej.
Dla macierzy piciodiagonalnej A:
c1 d 1 e1
b c d2 e2
2 2
a 3 b3 c3 d3 e3

A ... ... ... ... ... ... ...
a n 2 bn 2 cn 2 d n 2 en 2

a n 1 bn 1 cn 1 d n 1
an bn cn

rozkad LU jest postaci:


1 u1 w1 e1
l 1 u 2 w2 e2
2
m3 l 3 1 u 3 w3 e3

L ... ... ... ... ... ... ... U ... ... ... ... ... ... ...
mn 2 l n 2 1 u n 2 wn 2 en 2

mn 1 l n 1 1 u n 1 w n 1
mn l n 1 un
,

gdzie:
u1 c1 , w1 d1 ,
4. Metody rozwizywania ukadw rwna liniowych 139

b2
l2 ,
u1

u2 c2 l2 w1 ,
w2 d 2 l2 e1 ,
ai
mi ,
ui 2
bi mi wi 2
li ,
ui 1
ui ci mi ei 2 li wi 1 ,
wi d i li ei 1 dla i = 3,4,..., n.
Z rozwizania dwu ukadw rwna Ly = f i Ux = y (Ax=f -> LUx=f)
otrzymujemy:
y1 f1 ,
y 2 f 2 l2 y1 ,
yi f i li yi 1 mi yi 2 dla i = 3,4,..., n
oraz:
yn
xn ,
un
( y n 1 wn 1 xn )
x n 1 ,
un 1
( yi wi xi 1 ei xi 2 )
xi dla i = n - 2, n - 3,...,1.
ui

4.6. Metoda SVD rozwizywania ukadw rwna


nadokrelonych
W obliczeniach praktycznych czsto pojawia si problem rozwizania
nadokrelonego ukadu rwna liniowych:
Ax b, (4.73)
140 Metody numeryczne w przykadach

gdzie:
A - macierz m x n,
b b1 , b2 ,..., bm - wektor prawej strony rwnania,
T

x x1 , x2 ,..., xn - szukane rozwizanie,


T

ktry w wyniku bdw pomiarowych moe by rwnie ukadem


sprzecznym. Jeden ze sposobw rozwizywania takiego ukadu bazuje na
omwionej wczeniej metodzie Householdera (rozdzia 4.2.5).
Sposobem rozwizania takiego problemu jest znalezienie wektora x * ,
o moliwie maej normie euklidesowej, ktry dla zadanej macierzy A
i wektora b minimalizuje norm euklidesow wektora residualnego:
r=b-Ax,
tzn.
b Ax 2
minn b Ay , x* min x 2 , (4.74)
yR 2

gdzie ostatnie minimum brane jest po wszystkich wektorach x


speniajcych poprzedni rwno. Jest to tzw. liniowe zadanie
najmniejszych kwadratw (LZNK). Do LZNK prowadzi wiele rnych
problemw, przede wszystkim aproksymacyjnych.

Przy wyznaczaniu postaci analitycznej rozwizania liniowego zadania


najmniejszych kwadratw i badaniu jego wasnoci, korzystamy
z twierdzenia o rozkadzie dowolnej macierzy prostoktnej na iloczyn
macierzy ortogonalnej, diagonalnej i ortogonalnej. Mwi ono, e dla
dowolnej macierzy A R mn (m n) istniej macierze ortogonalne
U R mm i V R nn takie, e:
A USV T , (4.75)
4. Metody rozwizywania ukadw rwna liniowych 141

gdzie:
1 0 0 0
0 0 0
2
. . . .

S 0 0 0 n Rmxn ,
. . . .

0 0 0 0
0 0 0 0
1 2 ... k k 1 k 2 ... n 0 ,
k jest rzdem macierzy A.
Wielkoci i nazywamy wartociami szczeglnymi (osobliwymi)
macierzy A , a rozkad (4.75) rozkadem wedug wartoci szczeglnych
(ang. singular value decomposition, SVD). Pierwiastki s
pierwiastkami wartoci wasnych macierzy A T A , a kolumny macierzy V
odpowiadajcymi im ortonormalnymi wektorami wasnymi tej macierzy.
Z kolei kolumny U s wektorami wasnymi AA T . Widzimy std, e
wartoci szczeglne s okrelone jednoznacznie, natomiast macierze U
i V nie.
Korzystajc z wartoci szczeglnych macierzy A, jej liczb
warunkow (patrz rozdzia 4.2.5) mona obliczy ze wzoru:
1
cond ( A ) .
k
Znajc rozkad (4.75) mona atwo wyznaczy rozwizanie LZNK:
x* A b , (4.76)
gdzie:
A VS U T nazywana jest macierz pseudoodwrotn do A (lub
czasami macierz odwrotn w sensie Moore'a -Penrose'a),
1 1
S diag ,..., ,0,...,0 Rnxm . (4.77)
1 k
Dla nieosobliwej macierzy kwadratowej zachodzi rwno:
A A 1 .
142 Metody numeryczne w przykadach

Ze wzgldu na fakt, e algorytm SVD jest do skomplikowany, a jest


dostpny jako gotowa metoda w pakietach do oblicze numerycznych
(Mathematica, Matlab), nie omawiamy tego algorytmu,
a zainteresowanych odsyamy do literatury [6].

4.7. Zadania do samodzielnego rozwizania


Zadanie 4.1.
Metod eliminacji Gaussa bez wyboru elementu podstawowego
rozwiza ukady rwna:

a) {

b) {

c) { .

Odp.
Rozwizaniem ukadu a) jest wektor [ ] .
Rozwizaniem ukadu b) jest wektor [ ] .
Rozwizaniem ukadu c) jest wektor [ ] .

Zadanie 4.2.
Metod eliminacji Gaussa z wyborem elementu podstawowego
w kolumnie rozwiza ukady rwna:

a) {
4. Metody rozwizywania ukadw rwna liniowych 143

b) {

c) { .

Odp.
Rozwizaniem ukadu a) jest wektor [ ] .
Rozwizaniem ukadu b) jest wektor [ ] .
Rozwizaniem ukadu c) jest wektor [ ] .

Zadanie 4.3.
Metod eliminacji Gaussa z wyborem elementu podstawowego w wierszu
rozwiza ukady rwna:

a) {

b) {

c) { .

Odp.
Rozwizaniem ukadu a) jest wektor [ ] .
Rozwizaniem ukadu b) jest wektor [ ] .
Rozwizaniem ukadu c) jest wektor [ ] .
144 Metody numeryczne w przykadach

Zadanie 4.4.
Metod Gaussa-Jordana rozwiza ukady rwna:

a) {

b) { .

Odp.
Rozwizaniem ukadu a) jest wektor [ ] .
Rozwizaniem ukadu b) jest wektor [ ] .

Zadanie 4.5.
Metod rozkadu LU rozwiza ukady rwna:

a) {

b) { .

Odp.
Rozwizaniem ukadu a) jest wektor [ ] .
Rozwizaniem ukadu b) jest wektor [ ] .
4. Metody rozwizywania ukadw rwna liniowych 145

Zadanie 4.6.
Metod Choleskiego rozwiza ukady rwna:

a) {

b) {

c) { .

Odp.
Rozwizaniem ukadu a) jest wektor [ ] .
Rozwizaniem ukadu b) jest wektor [ ] .
Rozwizaniem ukadu c) jest wektor [ ] .

Zadanie 4.7.
Dokona rozkadu QR dla macierzy:

a) [ ]

b) [ ].

Odp.

a) [ ]
146 Metody numeryczne w przykadach

[ ]

b) [ ]

[ ].

Zadanie 4.8.
Rozwiza ukad rwna z zadania 4.7 metod Householdera dla prawych
stron rwnych odpowiednio:
a) [ ] ;
b) [ ] .

Odp.
Rozwizaniem ukadu a) jest wektor [ ] .
Rozwizaniem ukadu b) jest wektor [ ] .
5. Rozwizywanie rwna i ukadw rwna
nieliniowych

5.1. Wstp
Na og pierwiastki rwnania nieliniowego:
f(x) = 0 (5.1)
nie daj wyrazi si za pomoc wzoru analitycznego. Dlatego due
znaczenie maj metody przyblionego rozwizywania rwna. S to
metody kolejnych przyblie pierwiastka czyli metody iteracyjne.
Polegaj one na tym, e startujc od jednej pocztkowej wartoci
pierwiastka czyli punktu startowego x0 konstruuje si cig punktw x1, x2,
x3, ... zbieny do tego pierwiastka. W niektrych metodach potrzebne s
dwa pierwsze przyblienia pierwiasta. W metodach tych zadanie
znalezienia pierwiastkw uwaamy za wykonane, jeli potrafimy okreli
je z dan dokadnoci i poda oszacowanie bdu. Trzeba jednak
pamita, e wikszo metod przyblionego rozwizywania rwna
mona stosowa jedynie wtedy, gdy znany jest przedzia, w ktrym
znajduje si pojedynczy pierwiastek, czyli tzw. przedzia izolacji.
Do najbardziej popularnych metod znajdowania pierwiastkw rwna
nieliniowych zaliczamy metod bisekcji, metod regula-falsi, metod
siecznych, metod Newtona i jej modyfikacje [1, 4, 5, 7, 8, 9, 10].

5.2. Metoda bisekcji


O funkcji f(x) z rwnania (5.1) zakadamy, e:
jest ciga na przedziale domknitym <a,b>;
w punktach a i b wartoci funkcji f(x) maj przeciwne znaki, tzn.
f(a)f(b)<0;

W przypadku metody bisekcji (inaczej zwanej te metod poowienia)


nie musimy zakada monotonicznoci funkcji na przedziale domknitym
<a,b>. Metoda bisekcji znajduje jeden pierwiastek, nawet jeli
w przedziale <a,b> jest tych pierwiastkw wiele. Metoda nie korzysta
148 Metody numeryczne w przykadach

z wasnoci funkcji i jej przebiegu wewntrz badanego przedziau -


wystarcza jej informacja o znaku funkcji na jego kracach. Stosujc
metod bisekcji pierwiastek moemy wyznaczy z dowoln zadan
dokadnoci .

Pierwszy krok metody bisekcji polega na podziale przedziau < a, b>


na poow punktem:
x1 (a b) / 2.
Jeeli warto funkcji w tym punkcie jest bardzo bliska zeru tj.
|f(x1)| <eps , to x1 jest szukanym pierwiastkiem. W przeciwnym wypadku
z otrzymanych dwch przedziaw < a, x1> i < x1, b> wybieramy ten, na
kocach ktrego funkcja f(x) ma przeciwne znaki tj.:
jeeli f(a)*f(x1)<0, wtedy a si nie zmienia ale b=x1;
w przeciwnym razie a=x1, podczas gdy b nie ulega zmianie.

W drugim kroku metody, wybrany do dalszych oblicze przedzia,


ponownie dzielimy na poow i dostajemy punkt:
x2 (a b) / 2.
Po raz kolejny badamy warto funkcji f(x), tym razem w punkcie x2
i znaki funkcji f(x) na kocach przedziaw oraz wybieramy jeden z nich
do dalszych oblicze tj:
jeeli f(a)*f(x2)<0, wtedy a si nie zmienia, b=x2;
w przeciwnym razie a=x2, b si nie zmienia.
W wyniku takiego postpowania po pewnej liczbie krokw otrzymamy
cig przedziaw takich, e f(ai) f(bi) < 0, przy czym ai oraz bi s
odpowiednio pocztkiem i kocem i-tego przedziau, a jego dugo
wynosi:

bi ai
1
b - a . (5.2)
2i
Lewe koce cigu przedziaw tworz cig niemalejcy i ograniczony
z gry a prawe koce cig nierosncy i ograniczony z dou, wic z (5.2)
wynika, e istnieje ich wsplna granica . Ze wzgldu na stosowan
metod obliczeniow, ten sposb znajdowania pierwiastkw nazywamy
metod bisekcji (take metod poowienia lub metod rwnego
podziau).
5. Rozwizywanie rwna i ukadw rwna nieliniowych 149

Obliczenia koczymy gdy przedzia <ai,bi> jest ju odpowiednio may


czyli: |bi-ai| < 2, poniewa przyblienie pierwiastka x 0.5(a b)
spenia najczciej stosowane kryterium koca oblicze:
x x* ,

gdzie x* jest rozwizaniem rwnania.


Innym, ale stosowanym w ostatecznoci kryterium koca oblicze jest
sprawdzanie, czy warto funkcji w punkcie xi jest dostatecznie ma,
czyli |f(xi)| <eps .
Podstawow zalet metody bisekcji oprcz jej duej prostoty i atwej
implementacji jest pewno, e w kadej kolejnej iteracji szukany
pierwiastek ley midzy dwiema wartociami, dla ktrych funkcja f(x)
zmienia znak. Zawsze wic dojdziemy do szukanego rozwizania. Jest to
metoda na og wolniej zbiena ni metoda Newtona, ale nie oznacza to,
e jest wolno zbiena. Przy rozwizywaniu wielkich ukadw rwna
liniowych potrzeba niekiedy wykona kilkaset tysicy iteracji,
a w metodzie bisekcji aby zyska 6 cyfr znaczcych wystarcza 20 iteracji.

Przykad 5.1.
Metod bisekcji znale rzeczywisty pierwiastek rwnania:
x3 + x - 1 = 0
z dokadnoci do 0.01.

atwo sprawdzi, e pierwiastek ten znajduje si w przedziale <0,1>.


Mamy bowiem:
f(0) = -1 oraz f(1) = 1,
czyli:
f(0)*f(1)<0.
Pochodna: jest w przedziale <0,1> dodatnia oraz f(x)
jako wielomian jest funkcj cig, zatem <0,1> jest przedziaem izolacji
pierwiastka. Zadana dokadno oblicze eps = 0.01.
Pierwszy krok oblicze:
a=0, b=1,
x1 = (a+b)/2 = (0+1)/2 = 0.5.
Warto funkcji w znalezionym punkcie x1:
f(x1) = f(0.5) = -0.375.
150 Metody numeryczne w przykadach

Mamy f(x1)*f(b)<0 wic przyjmujemy:


a = x1 = 0.5,
b = 1,
a poniewa |b-a|>2eps to naley kontynuowa obliczenia.
Drugi krok oblicze:
a=0.5, b=1,
x2 = (a+b)/2 = (0.5+1)/2 = 0.75
oraz:
f(x2) = f(0.75) = 0.172.
Poniewa f(a)*f(x2)<0 wic:
a = 0.5,
b = x2 = 0.75 i ponownie |b-a|>2eps, czyli kontynuujemy obliczenia.
Trzeci krok oblicze:
a=0.5, b=0.75,
x3 = (a+b)/2 = (0.5+0.75)/2 = 0.625
f(x3) = f(0.625) = -0.131.
Skoro f(x3)*f(b)<0 to:
a = x3 = 0.625,
b = 0.75 i nadal |b-a|>2eps.
W analogiczny sposb wykonujemy kolejne kroki. Obliczenia
koczymy po wykonaniu kroku 7 a znaleziony pierwiastek jest rwny
x7=0.6796875. Dokadne wyniki oblicze kolejnych przyblie szuka-
nego pierwiastka dla pierwszych 7 krokw umieszczone s w tabeli 5.1.

Tabela 5.1. Wyniki oblicze do przykadu 5.1

i xi f(xi) i xi f(xi)
1 0.5 -0.375 5 0.65625 -0.0611268
2 0.75 0.171875 6 0.671875 -0.0248299
3 0.625 -0.1308593 7 0.6796875 -0.0063138
4 0.6875 0.0124511

5.3. Metoda regula falsi


Nazwa metody pochodzi od aciskich sw: regula - linia i falsus -
faszywy. Jest to zatem metoda faszywego zaoenia liniowoci funkcji.
5. Rozwizywanie rwna i ukadw rwna nieliniowych 151

Zakadamy, e w rozpatrywanym przedziale <a,b> funkcja f(x) spenia


zaoenia:
jest funkcj klasy C2 na przedziale domknitym <a,b>;
w punktach a i b wartoci funkcji f(x) maj przeciwne znaki, tzn.
f(a)f(b)<0;
pierwsza pochodna funkcji f(x) ma na przedziale <a,b> stay znak,
rny od zera;
druga pochodna funkcji f(x) ma na przedziale <a,b> stay znak,
rny od zera.

Spenienie wymienionych warunkw gwarantuje zbieno metody


oraz, e wewntrz badanego przedziau znajduje si dokadnie jeden
pierwiastek.
Z zaoe tych wynika, e wykres funkcji y = f(x) moe mie jedn
z czterech postaci przedstawionych na rysunkach 5.1a-5.1d.
Rozpatrzmy przypadek, gdy w przedziale <a,b> pochodne f ( x) i f ( x)
s dodatnie (rys. 5.2, dla pozostaych przypadkw rozumowanie jest
analogiczne).

Przez punkty A(a, f(a)) i B(b, f(b)) prowadzimy ciciw o rwnaniu:


f ( b) f ( a )
y f (a ) ( x a ).
ba
Odcit x1 punktu, w ktrym ciciwa AB przecina o 0x, przyjmuje si
jako pierwsze przyblienie szukanego pierwiastka rwnania (5.1). Std:
f (a )
x1 a (b a ).
f ( b) f ( a )
Jeeli |f(x1)|<eps (zadana dokadno), to oczywicie x1 jest szukanym
przyblieniem pierwiastka i zadanie jest zakoczone.
152 Metody numeryczne w przykadach
a) b)
f(x) f ( x ) 0 f(x)
f ( x) 0 f ( x ) 0
f ( x) 0

0 x 0 x
a b a b

c) d)

f x 0 f(x) f ( x ) 0
f(x)
f ( x) 0 f ( x) 0

0 x 0 x
a b a b

Rys. 5.1. Wykres funkcji f(x) w przedziale < a, b> w zalenoci od znaku pierwszej
i drugiej pochodnej funkcji
5. Rozwizywanie rwna i ukadw rwna nieliniowych 153

f(x)
f ( x ) 0
f ( x) 0

f(b) B
0
x1 x2
a b x
f(x1) D
f(a) C
A

Rys. 5.2. Interpretacja geometryczna metody regula falsi, jeli f '(x) > 0 i f " (x) > 0

Zamy, e |f(x1)| >eps. Jeeli przyblienie x1 nie jest wystarczajco


dokadne, to przez punkt C(x1, f(x1)) oraz przez ten z punktw A, B,
ktrego rzdna ma przeciwny znak ni f(x1), prowadzimy nastpn
ciciw (rys.5.2). Odcita x2 punktu, w ktrym ta ciciwa przetnie o 0x,
da nam drugie przyblienie pierwiastka . Dla uproszczenia rozumowania
przyjlimy, e f (x) > 0 oraz f (x) > 0 w przedziale < a, b >, co
oznacza, e funkcja y = f(x) jest wypuka i w kolejnych przyblieniach
punkt B pozostaje nieruchomy. Dla funkcji f(x) takiej, e f (x) > 0
i f (x) < 0 w przedziale < a, b >, nieruchomy byby punkt A. Jeeli
przyblienie x2 jest nadal niewystarczajce, to przez punkty B
i D(x2, f(x2)) prowadzimy trzeci ciciw, co daje nam trzecie
przyblienie x3 itd.
W ten sposb otrzymujemy kolejne wyrazy cigu przyblie
pierwiastka x1, x2, x3, ..., xn okrelonego wzorem rekurencyjnym:
f ( xk )
x0 a, xk 1 xk (b xk ) , k = 1, 2, ..., n. (5.3)
f ( b) f ( x k )
Mona wykaza, e przy przyjtych zaoeniach cig ten jest rosncy
i ograniczony, a wic zbieny oraz, e jego granic jest szukany
pierwiastek . Jeli nieruchomy jest punkt B, to kolejne wyrazy cigu
przyblie s mniejsze od oraz f(xk ) < 0 dla kadego k).
154 Metody numeryczne w przykadach

Przechodzc do granicy dla n z rwnoci (5.3) otrzymujemy:


f (g)
gg (b g ) ,
f ( b) f ( g )
gdzie g lim xn , a g b.
n

Std f(g) = 0, a przy zaoeniu istnienia tylko jednego pierwiastka


w przedziale < a, b > mamy g .
Bd bezwzgldny przyblienia xn mona oszacowa znajc dwa
kolejne przyblienia xn -1 i xn oraz korzystajc z twierdzenia Lagrangea
o przyrostach [4]:
M m
xk 1 xk 1 xk , (5.4)
m
przy czym:
m inf f ' x , M sup f ' x .
x( a ,b ) x( a ,b )

Jeli M 2m, to:


xk 1 xk 1 xk . (5.5)

W niewielkim otoczeniu pierwiastka mona przyj, e:


xk 1 xk
xk 1 f xk 1 . (5.6)
f xk 1 f xk
Metoda regula falsi jest zbiena dla dowolnej funkcji cigej
w przedziale < a, b > (f(a)f(b) < 0), jeeli tylko pierwsza pochodna tej
funkcji jest ograniczona i rna od zera w otoczeniu pierwiastka. Jeeli
druga pochodna nie zmienia znaku w rozpatrywanym przedziale, to ten
koniec przedziau, w ktrym f ( x) f ( x) 0 , jest staym punktem iteracji
- wszystkie ciciwy przechodz przez ten punkt. Wad metody jest jej
stosunkowo powolna zbieno.

Przykad 5.2.
Metod regula falsi znale rzeczywisty pierwiastek rwnania:
3x-cos x-1=0.
Badajc funkcj wystpujc w rwnaniu moemy stwierdzi, e
w przedziale < 0.25, 0.75 > ma ona dokadnie jedno miejsce zerowe
5. Rozwizywanie rwna i ukadw rwna nieliniowych 155

(w badanym przedziale f ( x) 0 ). Kolejne przyblienia obliczone


wedug wzoru (5.3) znajduj si w tabeli 5.2.

5.4. Metoda siecznych


Metod regula falsi mona znacznie ulepszy, jeeli zrezygnuje si
z dania, aby w punktach wytyczajcych kolejn ciciw funkcja f(x)
miaa rne znaki, natomiast do wyznaczenia (n+1)-szego przyblienia
wykorzysta si punkty xn oraz xn-1. Wzr (5.3) przyjmie wwczas posta:
f xn xn xn1
xn1 xn , n = 1, 2, ... . (5.7)
f xn f xn1
Metoda (5.7) nosi nazw metody siecznych. Jej zbieno jest znacznie
szybsza, ni metody regula falsi. Niestety, zdarzaj si przypadki, gdy
moe nie by zbiena, np. gdy pocztkowe przyblienia nie le
dostatecznie blisko pierwiastka. W metodzie tej istotne znaczenie ma
maksymalna graniczna dokadno wynikajca z przyjtej arytmetyki.
Gdy bowiem rnica xn+1 - xn jest tego samego rzdu, co oszacowanie
bdu, jakim jest obarczona, nastpne przyblienie moe ju by
cakowicie bdne. Dlatego te za dodatkowe kryterium przerwania
iteracji naley przyjmowa wartoci f(xn) tak, aby tworzyy one cig
malejcy (w kocowej fazie oblicze). Iteracja powinna by przerwana,
jeeli rnica midzy kolejnymi przyblieniami zamiast male zaczyna
szybko wzrasta. W takim przypadku naley przeprowadzi powtrn
lokalizacj pierwiastka znacznie zawajc pocztkowy przedzia jego
izolacji.

Tabela 5.2. Wyniki oblicze do przykadu 5.2

xi f(xi)
a = 0.25 -1.218912
b = 0.75 0.518311
x1 = 0.600819 -0.022416
x2 = 0.607003 -0.000352
x3 = 0.607100 -0.000006
x4 = 0.607101 -0.000002
x5 = 0.607101
156 Metody numeryczne w przykadach

Przykad 5.3.
Stosujc metod siecznych znale pierwiastek rwnania:
x3 + x2 - 3x -3 = 0 w przedziale < 1, 2 >.
Funkcja wystpujca w rwnaniu ma w przedziale < 1, 2 > dokadnie
jeden pierwiastek. Kolejne przyblienia tego pierwiastka obliczamy
zgodnie ze wzorem (5.7). Wyniki oblicze zapisane s w tabeli 5.3.

Tabela 5.3. Wyniki oblicze do przykadu 5.3

i xi f(xi)
0 1 -4
1 2 3
2 1.57142 -1.36449
3 1.70540 -0.24784
4 1.73513 0.02920
5 1.73199 0.000576
6 1.73193

5.5. Metoda Newtona-Raphsona


Metoda Newtona-Raphsona, zwana take metod Newtona lub metod
stycznych, naley do metod iteracyjnych. Dla zadania
jednowymiarowego, tzn. jednego rwnania, w metodzie tej dla
znalezienia nastpnego punktu iteracji korzysta si tylko z jednego punktu
startowego x0. Jeli warto funkcji dla x = x0 jest rna od zera, to
w punkcie o wsprzdnych ( x0, f(x0)) prowadzi si styczn do wykresu
funkcji (rys. 5.3).
Punkt przecicia tej stycznej z osi 0x stanowi pierwsze przyblienie x1
szukanego pierwiastka. Nastpnie w punkcie o wsprzdnych (x1, f(x1))
prowadzi si kolejn styczn. Punkt przecicia tej stycznej z osi 0x jest
drugim przyblieniem pierwiastka x2. W ten sposb otrzymuje si kolejne
wyrazy cigu przyblie x1, x2, x3, ... .

Wzr rekurencyjny opisujcy obliczanie tych wyrazw ma posta:


f ( xk )
xk 1 xk hk , hk , k 0,1,.... (5.8)
f ' ( xk )
5. Rozwizywanie rwna i ukadw rwna nieliniowych 157

lub piszc krcej:


f ( xk )
xk 1 xk , k 0,1,.... (5.9)
f ' ( xk )

f(x0)

f(x1) x
0 x2 x1 x0

Rys. 5.3. Interpretacja geometryczna metody Newtona-Raphsona

Obliczenia koczy si, gdy:


h k x k 1 x k eps . (5.10)

przy czym eps oznacza zadan z gry dokadno i jest oszacowaniem


bdu wartoci f ( xn ) / f ( xn ) .
Warto zauway, e jeeli we wzorze (5.9) za f ' ( xk ) wstawimy iloraz
f(x k )-f(x k 1 )
rnicowy to otrzymamy metod siecznych.
xk -xk-1
Wybr punktu startowego x0 jest bardzo istotny i moe decydowa
o zbienoci cigu kolejnych przyblie. Jeeli wystartujemy
odpowiednio blisko od rozwizania, wtedy metoda Newtona jest lokalnie
kwadratowo zbiena czyli jej wykadnik zbienoci wynosi p=2, jeli
f ' ( ) 0 .
Wykadnik zbienoci metody iteracyjnej z definicji jest tak liczb
p>1, e:
xk 1 c xk , 0 c .
p
158 Metody numeryczne w przykadach

Gdy c 1 , to w metodzie Newtona, w kadym kroku (z wyjtkiem


pocztkowych) podwaja si liczba cyfr dokadnych w przyblieniu
pierwiastka.
W metodzie siecznych wykadnik zbienoci wynosi:
5 1
p ,
2
skd wynika szybsza zbieno metody Newtona.

Przykad 5.4.
Zbada z dokadnoci do 1e-5 rozwizanie rwnania y e x 2 x 1
metod Newtona wybierajc jako punkt startowy:
a) x0=0,
b) x0=5.

Dla badanej funkcji mamy:


f ( x) e x 2 x 1
f ' ( x) e x 2

Ad a)
Wykonamy obliczenia dla punktu startowego x0=0. Obliczamy
przyblienia rozwizania korzystajc z wzoru 5.8 i wartoci funkcji
w obliczonych punktach:
.

Warto funkcji w otrzymanym punkcie x1 wynosi:


.
Poniewa | | naley policzy kolejny krok metody:

Kontynuujc obliczenia otrzymujemy:


,
5. Rozwizywanie rwna i ukadw rwna nieliniowych 159

,
.

Po wykonaniu trzeciego kroku nastpuje koniec oblicze (osignito


zadan dokadno 0.00001) a znaleziony pierwiastek wynosi:
x = -0.738835.

Ad b)
Podobne obliczenia wykonamy dla punktu startowego x0=5.
Otrzymujemy kolejno:
,
,
,
,
,
,
,
,
,
,
,
,
,
.

Po wykonaniu sidmego kroku nastpuje koniec oblicze. Pierwiastek


wynosi: x = -0.738835.
160 Metody numeryczne w przykadach

Przykad 5.5.
Zbada zaleno rozwizania rwnania od wyboru punktu startowego
w metodzie Newtona dla rwnania:
x0 y e x x 2 2 .

Wykres funkcji y(x) przedstawia rys. 5.4.

3.00

2.00

1.00

-0.50 0.50 1.50


-1.00 0.00 1.00 2.00
0.00

-1.00

-2.00

Rys. 5.4. Wykres funkcji z przykadu 5.4.

Badana funkcja ma dwa rzeczywiste pierwiastki x1 > 0 oraz x2 < 0.


Wyniki oblicze tych pierwiastkw z rn dokadnoci i dla rnych
punktw startowych (niekiedy bardzo odlegych od szukanych
pierwiastkw) zebrane s w tabeli 5.4.
5. Rozwizywanie rwna i ukadw rwna nieliniowych 161

Tabela 5.4. Wyniki oblicze do przykadu 5.5

x0 -1.0 10.0 100.0


dokadno 0.001 0.000001 0.001 0.000001 0.001 0.000001
liczba iteracji 4 5 6 7 10 11
-0.635 -0.635 5.1 5.1 50.1 50.1
-0.534 -0.543 2.74 2.74 25.02 25.02
-0.537 -0.537 1.71 1.71 12.5 12.5
-0.537 -0.5373 1.36 1.369 6,35 6,35
-0.5372 1.31 1.317 3.33 3.33
1.3159 1.3169 1.95 1.95
1.3159 1.43 1.43
1.32 1.32
1.315 1.315
1.3159 1.3159
1.315973

Z tabeli 5.4 wynika, e osignicie dokadnoci tysic razy wikszej


wymaga wykonania tylko jednego kroku wicej. Warto zwrci uwag na
to, e warto kolejnego przyblienia najbardziej zmienia si
w pierwszych iteracjach. Wybr punktu startowego ma take znaczenie -
np. dla x0 = -1 potrzeba 4 iteracji, za 11 iteracji dla x0 = 100.

W wyniku przeprowadzonych oblicze stwierdzono, e warto


pochodnej f (x) poczwszy od drugiej iteracji zmienia si nieznacznie.
Z wyraenia na hk wynika, e pochodn f ( x) mona oblicza z tak
dokadnoci wzgldn, z jak oblicza si f(x). Mona wic nie
wyznacza f ( x) w kadej iteracji. Znacznie przyspiesza to proces
iteracyjny (szczeglnie dla ukadw rwna nieliniowych), nie wpywajc
znaczco na jego zbieno.
Uproszczone wzory (5.8) przyjmuj posta:
f ( xk )
xk 1 xk hk , hk , k 0,1,.... (5.11)
f ' ( x0 )
162 Metody numeryczne w przykadach

Jeli poszukujemy pierwiastka rwnania (5.1) metod Newtona


w przedziale jego izolacji < a, b >, to warunkiem koniecznym zbienoci
jest, aby punkt startowy x0 znajdowa si w tym przedziale. Metoda
Newtona zapewnia zbieno procesu iteracyjnego wtedy, gdy
w przedziale izolacji pierwiastka pierwsza i druga pochodna funkcji f(x)
nie zmieniaj znaku (rys. 5.1a-5.1d).

Punkt startowy x0 naley wybiera nastpujco:


x0 = a, jeli f ( x) f ( x) 0 - przypadek b) i c),
x0 = b, jeli f ( x) f ( x) 0 - przypadek a) i d).
Zwikszenie czasu oblicze lub niemono znalezienia pierwiastka
ma miejsce wwczas, gdy wybierzemy punkt pocztkowy:
x0 = b, jeli f ( x) f ( x) 0 - przypadek b) i c),
x0 = a, jeli f ( x) f ( x) 0 - przypadek a) i d).

Rys. 5.5 ilustruje przypadki niewaciwego doboru punktu startowego


x0 w metodzie Newtona, co moe doprowadzi do znalezienia innego
pierwiastka (rys. 5.5a) lub przerwa obliczenia na skutek znalezienia
punktu x1 poza przedziaem okrelonoci funkcji (rys. 5.5b) lub
w nieskoczonoci (rys. 5.5c).

Przykad 5.6.
Stosujc rne wzory iteracyjne rozwiza rwnanie x + ln x = 0.
Pokaza, e szybko zbienoci zaley od zastosowanego wzoru.

Metoda bisekcji
Przyjmujemy:
pocztek przedziau: 0.34,
koniec przedziau: 0.98,
dokadno: 0.0001.
Znaleziony pierwiastek: x = 0.567109, liczba iteracji: 13.

Metoda regula falsi


Przyjmujemy:
pocztek przedziau: 0.34,
koniec przedziau: 0.98,
dokadno: 0.0001.
5. Rozwizywanie rwna i ukadw rwna nieliniowych 163

Znaleziony pierwiastek: x = 0.567307, liczba iteracji: 13.

Metoda Newtona
Przyjmujemy:
punkt startowy: 1,
dokadno: 0.0001.
Znaleziony pierwiastek: x = 0.567143, liczba iteracji: 4.
Z przeprowadzonych oblicze wynika, e najszybsz zbienoci
charakteryzuje si metoda Newtona, co jest zgodne z teori.

a) b)
10.00 2.00

5.00 1.00

0.00 x0
x0 x1 0.00
x1
-4.00 0.00 4.00
-1.00 0.00 1.00 2.00 3.00

-5.00
-1.00

-10.00
-2.00

c)
8.00

4.00

0.00
x0

-4.00 -2.00 0.00 2.00 4.00 6.00

-4.00

-8.00

-12.00

Rys. 5.5. Przykady niewaciwego doboru punktu startowego w metodzie Newtona


164 Metody numeryczne w przykadach

5.6. Ukady rwna nieliniowych


W celu rozwizania ukadu n rwna nieliniowych:
f1 ( x1 , x2 ... xn ) 0
f ( x , x ... x ) 0
2 1 2 n
(5.12)
........................
f n ( x1 , x2 ... xn ) 0

metod Newtona-Raphsona uoglnia si na n-wymiarw.


Zbir argumentw x1, x2, x3, ... rozpatrujemy jako n - wymiarowy
wektor postaci: X [ x1 , x2 ... xn ]T . Analogicznie zbir funkcji f1, f2, f3, ...
traktujemy jako n-wymiarowy wektor F [ f 1 , f 2 ... f n ]T . Wtedy ukad
rwna (5.12) mona zapisa w postaci:
F(X) = 0, (5.13)
za iteracyjny wzr Newtona-Raphsona przyjmie posta:
J ( X i 1 )h F( X i )
, (5.14)
i 1
X X i h

gdzie h jest wektorem poprawki a J(X) jest obliczon dla X macierz


Jacobiego:


f 1 f1
...
f1
x1 x2 xn
f f2 f2
J(X ) 2 ... .
x1 x2 xn
.... ... ...
f ...
fn fn
n ...
x1 x2 xn
W przypadku ukadu rwna problem zbienoci jest trudniejszy, ni
w przypadku pojedynczego rwnania. Dlatego bardzo wane jest dobre
przyblienie startowe.
5. Rozwizywanie rwna i ukadw rwna nieliniowych 165

Wzr (5.14) mona te zapisa w postaci:


J( X i )X i 1 X i FX i . (5.15)
Oznaczajc Z i 1 (Xi 1 Xi ) otrzymujemy:
J( X i )Zi 1 FX i . (5.16)
Algorytm rozwizywania ukadu jest nastpujcy:
1. Dla przyblienia zerowego X0 obliczamy F(X0) oraz J (X0).
2. Stosujc dowoln metod rozwizywania rwna liniowych (np.
eliminacji Gaussa), rozwizujemy ukad (5.16), otrzymujc
poprawk Z1.
3. Sprawdzamy, czy Z1 spenia narzucony warunek dokadnoci
rozwizania ( Zi ). Jeeli tak, to przyblienie zerowe jest
rozwizaniem. W przeciwnym przypadku przechodzimy do kroku
czwartego.
4. Dodajemy poprawk Z1 do X0 otrzymujc X1 = X0 + Z1.
5. Z now wartoci X wracamy do kroku 1, obliczajc kolejn
poprawk i nowe przyblienie X, tak dugo a zostanie speniony
warunek dokadnoci.
W przypadku braku zbienoci przerywamy wykonywanie algorytmu.
Wskanikiem rozbienoci jest wzrost lub oscylacja Z w kolejnych
iteracjach. Zwykle wystarcza wykonanie niewielkiej liczby iteracji w celu
zorientowania si, czy kontynuacja oblicze jest celowa. Jeli nie, to
naley zada nowe warunki pocztkowe lub zastosowa inn metod.

Przykad 5.7.
Znale dwa pierwsze przyblienia rozwizania ukadu rwna postaci:
f1 ( x1 , x2 ) x1 2 x2 0,
2 2

f 2 ( x1 , x2 ) 2 x1 x2 3 0.
Obliczenia wykona z dokadnoci eps=0.001. Jako przyblienie
pocztkowe przyj wektor:
1,3
X0 .
1,1
166 Metody numeryczne w przykadach

0,73
Obliczamy FX 0 , a nastpnie tworzymy macierz
0,14
Jacobiego:
2x 4 x2
J X 1 .
2 x 2 2 x1

Zatem:
2,6 4,4
J X 0
2,6
,
2,2
Rozwizujemy ukad rwna (np. metod eliminacji Gaussa):
2,6 4,4 h0 0,73
J X 0 Z1 F(X 0 ), czyli :
2,2 2,6 h1 0,14
i otrzymujemy poprawk Z1=[h0, h1]T=[0,1529 -0,0755].
Obliczamy:
1,3 0,1529 1,4529
X 1 X 0 Z1 .
1,1 - 0,0755 1,0245
i sprawdzamy warunek zakoczenia oblicze:
Z1 0.1706 0.001.

Kryterium koca nie jest jeszcze spenione, wobec czego wykonujemy


drug iteracj:
0,0120
FX1 ,
0,0231
2,9058 4,0978
J X1 .
2,0489 2,9058
Rozwizujemy ukad rwna:
2,9058 4,0978 h0 0,0120
J X1 Z 2 F(X 1 ), czyli :
2,0489 2,9058 h1 - 0,0231
i otrzymujemy poprawk Z2=[h0, h1]T=[0,0036 0,0054].
5. Rozwizywanie rwna i ukadw rwna nieliniowych 167

Obliczamy:
1,4565
X 2 X1 Z 2
1,0299
i ponownie sprawdzamy warunek zakoczenia oblicze:
Z 2 0.0065 0.001.

Obliczenia kontynuujemy do momentu kiedy Zi 0.001.

Dokadnym rozwizaniem ukadu jest:


3 3
x1 1,45648, x2 1,02988.
2 2 2

5.7. Zadania do samodzielnego rozwizania


Zadanie 5.1.
Metod Newtona wyznaczy wzr na przyblion warto:
a) ,
b)

Odp.
a) ;
b) .

Zadanie 5.2.
Wyznaczy metod Newtona przyblion warto podanego pierwiastka
z zadan dokadnoci oraz poda konieczn do wykonania liczb
krokw. Obliczenia przeprowadzi dla punktu startowego 1.0 oraz 2.0.
a) ;
b) ;
c) ;
d) ;
e) ;
168 Metody numeryczne w przykadach

f) .

Odp.
a) x0= 1.0 to x4 = 2.64577; x0= 2.0 to x3 = 2.64575.
b) x0= 1.0 to x5 = 4.47214; x0= 2.0 to x4 = 4.47214.
c) x0= 1.0 to x5 = 2.22414; x0= 2.0 to x3 = 2.22428.
d) x0= 1.0 to x6 = 2.22398; x0= 2.0 to x3 = 2.22398.
e) x0= 1.0 to x8 = 2.23607; x0= 2.0 to x3 = 2.23607.
f) x0= 1.0 to x9 = 2.23607; x0= 2.0 to x4 = 2.23607.

Zadanie 5.3.
Metod regula falsi oraz metod siecznych wyznaczy dodatni
pierwiastek rwnania:

z dokadnoci do:
a) 0.01;
b) 0.0001.
Dla kadej metody poda konieczn liczb krokw.

Odp.
a). Metoda regula falsi: x = 1.89320, liczba krokw = 5.
Metoda siecznych: x = 1.89242, liczba krokw = 3.
b). Metoda regula falsi: x = 1.89546, liczba krokw = 9.
Metoda siecznych: x = 1.89543, liczba krokw = 4.
6. Cakowanie numeryczne

6.1. Wstp
W niniejszym rozdziale podane zostan metody numerycznego
cakowania funkcji (tzw. kwadratury) [1, 4, 7, 8, 9, 10]. Bd to metody,
ktre jako wynik dadz przyblion warto liczbow caki postaci:
. (6.1)
Zakadamy, e jest to caka waciwa tzn. ma skoczone granice
cakowania oraz funkcja podcakowa f(x) jest ciga w przedziale
cakowania. Obliczenie caki (6.1) nastpi przy uyciu kwadratur postaci:
. (6.2)
Wspczynniki kwadratury Ai oraz wzy xi s niezalene od funkcji
podcakowej f(x). Obliczenie wartoci caki (6.1) bdzie polegao na
aproksymacji funkcji podcakowej za pomoc atwo cakowalnej funkcji.
W rozdziale podane zostan dwa rodzaje kwadratur:
kwadratury Newtona-Cotesa, ktre oparte s na przyblieniu
funkcji podcakowej wielomianami stopnia pierwszego (metoda
trapezw) oraz stopnia drugiego (metoda Simpsona);
kwadratury Gaussa, ktre polegaj na wykorzystaniu
wielomianw ortogonalnych i takim wyborze punktw xi oraz
wspczynnikw Ai, aby kwadratura bya dokadna dla wszystkich
wielomianw moliwie najwyszego stopnia.

6.2. Kwadratury Newtona-Cotesa


Niech li(x) oznaczaj wielomiany fundamentalne Lagrangea
zdefiniowane wzorem:
. (6.3)

Kwadratur (6.2) ze wspczynnikami Ai zdefiniowanymi wzorem:


, (6.4)
170 Metody numeryczne w przykadach

nazywamy kwadratur interpolacyjn. Mona ni przyblia warto caki


(6.1). Pozostaje tylko kwestia, z jakim bdem bdzie podany wynik.
Kwadratur interpolacyjn Kn(f) z wzami rwnoodlegymi nazywamy
kwadratur Newtona-Cotesa.

6.2.1. Wzr trapezw


Cak (6.1) moemy przyblia jako pole trapezu wyznaczonego przez
granice cakowania. Dla przypadku przedstawionego na rys.6.1
kwadratura wyraa si wzorem:
(6.5)
Dla dwch wzw x0=a i x1=b bd takiej kwadratury jest do duy.
Dlatego dokonuje si podziau przedziau cakowania na n rwnej
dugoci podprzedziaw [xi, xi+1]. Krok midzy wzami wynosi wtedy:
, (6.6)
natomiast wzy speniaj zaleno:
. (6.7)
W takim przypadku przyblienie caki (6.1) jest sum pl trapezw
wyznaczonych przez kolejne podprzedziay:

( ) (

Ostatecznie wzr zoony trapezw mona zapisa w postaci:

( ). (6.8)

Bd tej kwadratury jest rzdu O(h2) i wynosi dokadnie:

. (6.9)
6. Cakowanie numeryczne 171

Wynika on z twierdzenia o reszcie w interpolacji wielomianowej.

y
f(x)
x

f ( x)dx
a

0 a b x

Rys. 6.1. Wzr trapezw dla n=1

Interpretacj geometryczn zoonego wzoru trapezw przedstawia


rys. 6.2.

y
f(x)
x

0 x0=a x1 x2 ... xn-1 b=xn x

Rys. 6.2. Wzr zoony trapezw

Przykad 6.1.
Obliczy warto caki stosujc wzr zoony trapezw
z krokiem h=1/3.
172 Metody numeryczne w przykadach

Wynik obliczony w sposb analityczny to I=1.21895. Liczba


podprzedziaow wynosi:
,

a liczba wzw jest rwna (n+1) czyli w naszym przykadzie 4.

Wzy maj wartoci:


lewy przedzia cakowania,
,
,
prawy przedzia cakowania.

Wzr na kwadratur to:


.

Wykonujc obliczenia dla naszego przypadku mamy:


( )

( )

Warto bdu wynosi dla n=3 wynosi:


| | | |
Oczywicie dla mniejszego kroku, czyli wikszej liczby wzw,
warto bdu te si zmniejszy i wynik bdzie dokadniejszy.

6.2.2. Wzr Simpsona


Cak (6.1) moemy przyblia rwnie jako pole pod parabol
przechodzc przez punkty x0=a, x1=(a+b)/2, x2=b, czyli:
( ). (6.10)
6. Cakowanie numeryczne 173

Przy podziale przedziau cakowania na n/2 rwnej dugoci


podprzedziay [xi, xi+1], przy zaoeniu parzystoci liczby n, otrzymujemy
wzr zoony.
Wzr ten ma posta:

( )

{[ ]
[ ]
[ ]
[ ]}

Ostatecznie wzr zoony Simsona to:

[ ( ( - )) (

( - )) ] (6.11)

Bd tej kwadratury jest rzdu O(h4) i wynosi dokadnie:

. (6.12)

Przykad 6.2.
Obliczy warto caki z przykadu 6.1 za pomoc wzoru
zoonego Simpsona.
Warto kroku w tej metodzie musi ulec zmianie nie moe wynosi
h=1/3, bo wwczas n nie jest liczba parzyst. Wemy h=1/4 i wtedy n=4.
Wzy wynosz odpowiednio: 0, , , , 1.
Wzr zoony Simpsona dla tego zadania ma posta:
[ ( ) ( ) ]

[ ( () ) ( ) ]

[ ( ) ]
174 Metody numeryczne w przykadach

Przy obliczeniach analitycznych, ju dla 5 wzw osigamy


dokadno wyniku 10-5.

Przykad 6.3.
Stosujc wzr zoony Simpsona obliczy przyblion warto ln(7).

W tym celu naley skorzysta z zalenoci:


.
Przyjmijmy krok oblicze h=0.2. Wtedy:
.
Wzy maj wartoci:

Wzr zoony Simpsona przyjmuje w tym przykadzie posta:


[ ].
Funkcja podcakowa ma posta:
.
Wzy wyraaj si zalenociami:
,
.
Ostatecznie
[ ] .
Wynik dokadny to 1.94591.

Ostateczna posta wzoru zoonego Simpsona przybliajcego ln(7)


dla dowolnego parzystego n to:
[ ]

Zagszczanie wzw daje nastpujce wyniki:


dla n=40 wynik S40=1.94593;
dla n=50 wynik S50=1.94592;
6. Cakowanie numeryczne 175

dla n=60 wynik S60=1.94591 (warto jak dla wyniku


dokadnego).

Naley nadmieni, i kwadratury Newtona-Cotesa nie s numerycznie


poprawne tzn.mog zdarzy si przypadki, gdy bd wytworzony
w trakcie oblicze moe znacznie przekroczy warto obliczonej caki.

6.3. Kwadratury Gaussa


Kwadratury Gaussa oparta na n+1 punktach ma by dokadna dla
wielomianw: Powstaje ukad 2(n+1) rwna
nieliniowych z 2(n+1) niewiadomymi. Okazuje si, e pierwiastki tego
ukadu s miejscami zerowymi odpowiednich wielomianw
ortogonalnych. Dziki temu ukad, ktry naley rozwiza, redukuje si
do n+1 rwna liniowych, z ktrego wyznacza si wspczynniki
kwadratury.
Definicja i twierdzenia dotyczce wielomianw ortogonalnych
znajduj si w rozdziale 3.6.
Rozwamy teraz cak Ip okrelon wzorem:

, (6.13)
gdzie funkcja wagowa jest dodatnia na [a,b].

Twierdzenie 6.1
Kwadratur Gaussa postaci (6.2) opart na n+1 wzach o maksymalnym
rzdzie, rwnym 2n+1, jest kwadratura interpolacyjna, ktrej wzami s
pierwiastki (n+1)-go wielomianu ortogonalnego na [a,b] z wag .

Dla kwadratur Gaussa wzy kwadratury s zatem pierwiastkami


odpowiedniego wielomianu ortogonalnego.

Twierdzenie 6.2
Wspczynniki kwadratury Gaussa wyraaj si wzorami:

, (6.14)
176 Metody numeryczne w przykadach

gdzie ak jest wspczynnikiem przy najwyszej potdze k-tego


wielomianu ortogonalnego pk, a x0, x1, , xn s pierwiastkami (n+1)-ego
wielomianu ortogonalnego.

Twierdzenie 6.3
Jeli [ ], to reszta kwadratury Gaussa wyraa si
wzorem:

(6.15)

W szczeglnym przypadku, dla funkcji wagowej


wspczynniki kwadratury Ai i wzy xi dobiera si tak, aby kwadratura
bya dokadna dla wszystkich wielomianw w(x) stopnia nie wikszego
ni 2n+2. Wtedy kwadratura (6.2) jest kwadratur Gaussa przybliajc
cak:
. (6.16)
Jest to osignite, gdy speniony jest ukad:
, (6.17)
w ktrym za funkcj podcakow przyjmuje si wielomiany bazowe.
Po wyliczeniu prawych stron ukad (6.17) mona zapisac krcej:
[ ] . (6.18)
Do obliczenia caki w dowolnym przedziale [a, b] dokonujemy
liniowego przeksztacenia przedziau [a, b] na przedzia [-1, 1]. Wtedy:
. (6.19)
a caka po przeksztaceniu ma posta:

( ) . (6.20)
Zalety kwadratur Gaussa:
1. Moemy przy ich uyciu oblicza przyblione wartoci caek
osobliwych bardzo czsto wystpujce np. w fizyce.
2. Maj one duo wysz dokadno.
6. Cakowanie numeryczne 177

3. Dla (n+1) punktw kwadratura Gaussa jest dokadna dla


wielomianw stopnia 2n+1, gdy kwadratury Newtona-Cotesa s
dokadne tylko dla wielomianw n-tego stopnia.

Przykad 6.4.
Obliczy wspczynniki i wzy kwadratury Gaussa dla przedziau [-1,1]
z funkcj wagow opartej na dwch wzach.

Przyjmujc n=1, mamy kwadratur rzdu 4. Naley rozwiza ukad


rwna dla k od 0 do 2n+1=3 zgodnie ze wzorem (6.17):
k = 0: ,
k = 1: ,
k = 2: ,
k = 3: .

Rozwizaniem s liczby:
A0 = A1 = 1
oraz
.

Kwadratura dwupunktowa Gaussa dla przedziau [-1,1] i wagi


ma posta:
( ) ( )

i przyblia ona cak:


.

Przykad 6.5.
Obliczy wsplczynniki i wzy kwadratury Gaussa dla przedziau [-1,1]
z funkcj wagow opartej na trzech wzach. Dla n=2 bdzie to
kwadratura rzdu 5.
Naley rozwiza ukad rwna dla k od 0 do 5 zgodnie ze wzorem
(6.16). Rozwizaniem s liczby:
A0 = A2 = 5/9, A1=8/9 .
178 Metody numeryczne w przykadach

oraz

Kwadratura trzypunktowa Gaussa dla przedziau [-1,1] i wagi:


ma posta:

( ) ( ).

i przyblia ona cak:


.

Przykad 6.6.
Sprawdzi, czy kwadratura postaci:
[ ( ) ( )]

jest kwadratur Gaussa przybliajc warto caki .

K jest kwadratur o trzech wzach czyli n=2. Trzeba sprawdzi czy


zachodzi wzr (6.15) dla:

i wzw:
.
Sprawdzamy, dla k = 0, czy zachodzi rwno:
.
Liczc stronami otrzymujemy:
.

.
Dla k = 0 zachodzi rwno (L=P).

Podobne sprawdzenie naley zatem przeprowadzi dla k=1,2,,5.


6. Cakowanie numeryczne 179

Dla k = 1 otrzymujemy:
.
Liczc stronami mamy:
-
(
- -
)

Wobec powyszego LP dla k=1 - zatem kwadratura ta nie jest


kwadratur przybliajc podan cak, gdy nie jest dokadna. Dla
kolejnych k nie ma ju potrzeby sprawdzania.

Z przykadu 6.6. wynika, i wzy i wagi nie mog by dowolnie


wybrane w danym przedziale cakowania. Std cay proces wyboru tych
danych w kwadraturach Gaussa ma istotne uzasadnienie.

W praktyce nie znajduje si jednak punktw i wag Gaussa z ukadu


(6.15), tylko wykorzystuje si wielomiany ortogonalne. Wartoci
wspczynnikw Ai oraz wzw xi dla poszczeglnych wartoci n oraz
odpowiednich wielomianw ortogonalnych s stablicowane, oglnie
dostpne i nie oblicza si ich kadorazowo od nowa, gdy generowaoby
to bardzo duy koszt.
W kolejnych rozdziaach przedstawimy cztery najczciej uywane
rodzaje wielomianw ortogonalnych i odpowiadajce im kwadratury
Gaussa.

6.3.1. Kwadratury Gaussa-Hermitea


Wielomiany ortogonalne Hermitea maj posta:

. (6.19)
Funkcja wagowa dla tych wielomianw to:
,
a przedzia cakowania (-,).
180 Metody numeryczne w przykadach

Zatem cak o wskazanej postaci moemy przyblia kwadraturami


Gaussa-Hermitea:
, (6.20)
w ktrej wzy xi s pierwiastkami wielomianu ortogonalnego Hearmitea
stopnia (n+1) a wartoci Ai - odpowiadajcymi im wspczynnikami.
W tabeli 6.1 przedstawiono wartoci tych wspczynnikw dla
wielomianw stopnia od 1 do 4.

Tabela 6.1. Wartoci wzw i wag kwadratur Gaussa-Hermitea

n i xi Ai
0 -0.707107 0.886227
1
1 0.707107 0.886227
0 -1.224745 0.295409
2 1 0 1.181636
2 1.224745 0.295409
0 -1.650680 0.081313
1 -0.534648 0.804914
3
2 0.534648 0.804914
3 1.650680 0.081313
0 -2.020183 0.019953
1 -0.958572 0.393619
4 2 0 0.945309
3 0.958572 0.393619
4 2.020183 0.019953

6.3.2. Kwadratury Gaussa-Laguerrea


Wielomiany ortogonalne Laguerrea maj posta:
. (6.21)
Funkcja wagowa dla tych wielomianw to:
,
a przedzia cakowania [0,).
6. Cakowanie numeryczne 181

Zatem cak o wskazanej postaci moemy przyblia kwadraturami


Gaussa-Laguerrea:
, (6.22)
w ktrej wzy xi s pierwiastkami wielomianu ortogonalnego Laguerrea
stopnia (n+1) a wartoci Ai odpowiadajcymi im wspczynnikami.
W tabeli 6.2 przedstawiono wartoci tych wspczynnikw dla
wielomianw stopnia od 1 do 5.

Tabela 6.2. Wartoci wzw i wag kwadratur Gaussa- Laguerrea

n i xi Ai
0 0.585789 0.853553
1
1 3.414214 0.146447
0 0.415775 0.711093
2 1 2.294280 0.278518
2 6.289945 0.010389
0 0.322548 0.603154
1 1.745761 0.357419
3
2 4.536620 0.038888
3 2.395071 0.000539
0 0.263560 0.521756
1 1.413403 0.398667
4 2 3.596426 0.075942
3 7.085810 0.003612
4 12.640801 0.000032

6.3.3. Kwadratury Gaussa-Czebyszewa


Wielomiany ortogonalne Czebyszewa s postaci:

. (6.23)
Funkcja wagowa dla tych wielomianw to:
,
a przedzia cakowania [-1,1].
182 Metody numeryczne w przykadach

Zatem cak o wskazanej postaci moemy przyblia kwadraturami


Gaussa-Czebyszewa:
, (6.24)

w ktrej wzy xi s pierwiastkami wielomianu ortogonalnego


Czebyszewa stopnia (n+1) a wartoci Ai s odpowiadajcymi im
wspczynnikami.
Wartoci wzw i wspczynnikw dla kwadratur Gaussa-
Czebyszewa wyraaj si wzorami:
( ), . (6.25)

6.3.4. Kwadratury Gaussa-Legendrea


Wielomiany ortogonalne Legendrea:

. (6.26)
Funkcja wagowa dla tych wielomianw to:
,
przedzia cakowania [-1,1]. Zatem cak (6.27) moemy przyblia
kwadraturami Gaussa- Legendrea
, (6.27)
w ktrej wzy xi s pierwiastkami wielomianu ortogonalnego Legendrea
stopnia (n+1) a wartoci Ai odpowiadajcymi im wspczynnikami.
W tabeli 6.3 przedstawiono wartoci tych wspczynnikw dla
wielomianw stopnia od 1 do 5.

Obliczenie wartoci kwadratury przybliajcej odpowiedni cak


sprowadza si wic tylko do obliczenia sumy , w ktrej
wspczynniki Ai oraz wzy xi naley pobra z odpowiedniej tabeli.
Pozostaje tylko policzenie w tych wzach wartoci funkcji podcakowej.
6. Cakowanie numeryczne 183
Tabela 6.3. Wartoci wzw i wag kwadratur Gaussa-Legendrea

n i xi Ai
0 -0.577350 1
1
1 0.577350 1
0 -0.774597 5/9
2 1 0 8/9
2 0.774597 5/9
0 -0.861136 0.347855
1 -0.339981 0.652145
3
2 0.339981 0.652145
3 0.861136 0.347855
0 -0.906180 0.236927
1 -0.538469 0.478629
4 2 0 0.568889
3 0.538469 0.478629
4 0.906180 0.236927

6.4. Zadania do samodzielnego rozwizania


Zadanie 6.1.
Obliczy przyblion warto caki
,
stosujc wzr zoony trapezw oraz wzr zoony Simpsona dla liczby
wzw rwnej:
a) 7;
b) 10;
c) 13;
d) 25;
e) 31.

Odp.
Uwaga: n = liczba wzw 1.
a) T6 = -35.5025 S6 = -33.535;
b) T9 = -34.3971 S9 zbyt duy bd, gdy n nie jest parzyste;
c) T12 = -34.0093 S12 = -33.5116;
184 Metody numeryczne w przykadach

d) T24 = -33.6349 S24 = -33.5101;


e) T30 = -33.5899 S30 = -33.51.

Zadanie 6 2.
Obliczy przyblion warto caki:

stosujc wzr zoony trapezw oraz wzr zoony Simpsona dla liczby
wzw rwnej:
a) 7;
b) 21.

Odp.
a) T6 = 0.937954 S6 = 0.933279;
b) T6 = 0.933709 S6 = 0.933289.
Zadanie 6.3.
Obliczy wzorem zoonym Simpsona z dokadnoci do 10-3 pole pod
jednym ukiem:
a) sinusoidy;
b) cosinusoidy.

Odp.
a) S6 = 2.00086;
b) S6 = 2.00086.

Zadanie 6.4.
Obliczy dwupunktow kwadratur Gaussa przyblion warto caki:


.

Odp. .

Zadanie 6.5.
Obliczy trzypunktow kwadratur Gaussa przyblion warto caki:


.

Odp. .
6. Cakowanie numeryczne 185

Zadanie 6.6.
Obliczy dwupunktow oraz trzypunktow kwadratur Gaussa
przyblione wartoci caek:
a) ;
b) ;
c) ;
d) .

Odp.
a) K1 = 1.09091 , K2 = 1.09804
b) K1 = 0.711942 , K2 = 0.718252
c) K1 = 1.97996 , K2 = 1.89115
d) K1 = 0.616191 , K2 = 0.637062.

Zadanie 6.7.
Wykorzystujc odpowiednie wielomiany ortogonalne (a dokadnie ich
pierwiastki i odpowiadajce im wagi) obliczy przyblione wartoci
caek:
a) , kwadratur Gaussa-Hermitea dla n=4;
b) , kwadratur Gaussa-Hermitea dla n=4;
c) , kwadratur Gaussa-Laguerrea dla n=4;
d) , kwadratur Gaussa-Laguerrea dla n=3;
e) , kwadratur Gaussa-Czebyszewa dla n=60;


f) , kwadratur Gaussa-Czebyszewa dla
n=100;
g) , kwadratur Gaussa-Legendrea dla n=3;
h) , kwadratur Gaussa-Legendrea dla n=4.

Odp.
a) K = 0.886224;
b) K = 1.38039;
c) K = 122.789;
d) K = 0.464436;
186 Metody numeryczne w przykadach

e) K = 1.62312;
f) K = 1.08294;
g) K = 1.06186;
h) K = 1.57117.
7. Rozwizywanie rwna i ukadw rwna
rniczkowych zwyczajnych

7.1. Wstp
W rozdziale tym zajmiemy si rozwizaniem zagadnienia pocztkowego,
polegajcego na znalezieniu funkcji yi yi ( x) , i 1,2, ..., m ,
speniajcych w przedziale <x0,b> ukad rwna rniczkowych:
dy1
dx f1 ( x, y1 ,... y m )

dy 2 f ( x, y ,... y )
2 1 m
dx (7.1)
............................

dy m f ( x, y ,... y )
dx m 1 m

z warunkiem pocztkowym:
yi ( x0 ) yi ,0 , i 1,2,..., m. (7.2)

Zagadnienie powysze moemy zapisa krtko w postaci wektorowej:


dy
f ( x, y ), y ( x0 ) y 0 , (7.3)
dx
gdzie:
y1 f1 y1,0
y ... , f ... , y 0 ... .

y f y
m m m,0
Rwnanie (7.3) nazywamy rwnaniem rniczkowym zwyczajnym
rzdu pierwszego. Wykorzystujc t wanie posta mona atwo opisa
metody numeryczne rozwizywania ukadw - tak samo, jak
pojedynczych rwna [1, 4, 5, 8, 9, 10].
188 Metody numeryczne w przykadach

W przypadku m=1 zagadnienie (7.3) sprowadza si do jednego


rwnania skalarnego:
dy
f ( x, y ), y ( x0 ) y 0 . (7.4)
dx
W dalszych rozwaaniach bdziemy zakada, e:
1. Funkcje fi ( x, y1,..., ym ), i 1,2, ..., m , jako funkcje (m+1)
zmiennych s cige w zbiorze:
D ( x, y1, y2 ,..., ym ): x0 x b, yi , i 1,2, ..., m .
2. Funkcje f i ( x, y1 ,..., ym ), i 1,2,..., m speniaj w zbiorze D
warunek Lipschitza wzgldem zmiennych y j , j 1,2, ..., m , tzn.
istnieje skoczona liczba L (staa Lipschitza) taka, e dla kadego
x x0 , b i dowolnych y j , ~
y j zachodz nierwnoci (7.5).
m
f i ( x, y1 ,..., ym ) f i ( x, ~ y m ) L y j ~
y1 ,..., ~ yj . (7.5)
j 1

Nierwno (7.5) jest speniona, gdy w kadym punkcie obszaru D


funkcje f i ( x, y1 ,..., ym ), i 1,2,..., m maj pochodne czstkowe:
fi
, i, j 1,2,..., m , ograniczone w D.
yj
Przy powyszych zaoeniach mona udowodni, e w przedziale
x0 , b istnieje dokadnie jedno rozwizanie klasy C1 zagadnienia (7.3).
Przy rozwizywaniu rwna rniczkowych metodami numerycznymi
wane jest, e kade rwnanie rzdu wyszego ni 1 mona wyrazi jako
ukad rwna rniczkowych rzdu pierwszego postaci (7.1) lub (7.3).

Przykad 7.1.
Rozpatrzmy rwnanie rniczkowe rzdu drugiego:
d 2 y dy
2
( y y3 ) sin( x) ,
dx dx
ktre mona przedstawi w postaci:
d2 y dy
2
f ( x, y , ) ,
dx dx
7. Rozwizywanie rwna i ukadw rwna rniczkowych zwyczajnych 189

gdzie:
dy dy
) sin( x ) ( y y 3 ) .
f ( x, y ,
dx dx
Wprowadzajc nastpujce zmienne:
y1 y,
dy dy1
y2 ,
dx dx
rwnanie powysze mona zapisa w postaci ukadu rwna
rniczkowych zwyczajnych rzdu pierwszego:
dy1
y2
dx
.
dy 2 sin( x ) ( y1 y13 ) y 2

dx

Przykad 7.2.
Rozwamy rwnanie rniczkowe rzdu trzeciego postaci:
d3 y dy d2 y
f ( x , y , , ),
dx3 dx dx 2
z warunkami pocztkowymi:
dy d2 y
y(0) 1, y'(0) (0) 2 , y''(0) 2 (0) 3 .
dx dx
Po podstawieniu:
dy dy1 d2 y dy2
y1 y, y2 , y3 2 ,
dx dx dx dx
rwnanie powysze przeksztaca si na ukad:
dy1
dx y2

dy2
y3
d x
dy3
dx f ( x, y1, y2 , y3 )

z warunkami pocztkowymi:
y1(0) 1, y2 (0) 2 , y3(0) 3 .
Otrzymano wic ukad rwna rniczkowych rzdu pierwszego.
190 Metody numeryczne w przykadach

Przykad 7.3.
Jeli w rwnaniu rniczkowym (7.3) zamiast zmiennej x wstawimy t
(czas), to rwnanie to bdzie opisywa wektor prdkoci czsteczki jako
funkcj wektora jej pooenia y. Tak wic rwnanie rniczkowe okrela
w tym przypadku pole wektorowe. Rozwizanie rwnania opisuje ruch
czsteczki w takim polu.
Rozwamy ukad:
dy1
dt ( y1 y 2 )


dy 2 y1 y 2
dt

z warunkami pocztkowymi:
y1 (0) 1 , y2 ( 0) 2 .
Dla rnych warunkw pocztkowych otrzymujemy tu ca rodzin
rozwiza. Ruch czsteczki w danym polu prdkoci jest jednoznacznie
okrelony przez jej pooenie pocztkowe. Kilka takich krzywych
pokazano na rys. 7.1.

Rys. 7.1. Rozwizanie zagadnienia z przykadu 7.3 dla rnych warunkw


pocztkowych przy t 0,100
7. Rozwizywanie rwna i ukadw rwna rniczkowych zwyczajnych 191

Rysunek 7.1. obrazuje trzy przypadki:


a) y1 (0) 1, y2 (0) 0 ,
b) y1 (0) 1, y2 (0) 1 ,
c) y1 (0) 0, y2 (0) 1
i sugeruje, e jeli wybiera si dostatecznie krtkie przedziay czasu, to
zasada przesunicie=przyrost czasu x rednia prdko pozwala
budowa krok po kroku rozwizanie przyblione. Jest to podstawowa
zasada wikszoci metod cakowania numerycznego rwna
rniczkowych.
Mniej lub bardziej wyszukane konstrukcje redniej prdkoci
w rozpatrywanym przedziale czasu daj rne metody rozwizania,
okrelane niekiedy symulacj dynamiczn lub cig ukadu.

Podstawowe definicje i oznaczenia


W rozdziale tym omwimy tzw. metody dyskretne rozwizywania
zagadnienia (7.3). S to metody, za pomoc ktrych otrzymujemy
przyblione rozwizania tylko dla dyskretnych wartoci xi , i 1,2,..., N
zmiennej niezalenej x. Ograniczymy si tu do omwienia
najwaniejszych z tych metod: metod rnicowych i metod typu
Rungego-Kutty. Polegaj one na tym, e poszukiwane rozwizanie yn1 ,
bdce przyblion wartoci funkcji y(x) w punkcie xn1 , obliczane jest
metod iteracyjn w n+1 krokach z wykorzystaniem wartoci
yn j , j 0,1,... oraz wartoci f ( xi , y i ) w obliczonych wczeniej punktach
dla n=0,1,,N-1.
Niech Y(x) oznacza dokadne rozwizanie zagadnienia (7.3), a y(x)
rozwizanie przyblione. Do dalszych rozwaa wprowadzimy
nastpujce oznaczenia:
Yi Yi ( x) ,
dY( xi )
Yi f ( xi , Yi ) ,
dx
yi yi ( x) ,
dy( xi )
yi f ( xi , yi ) ,
dx
gdzie xi x0 , b , i 1,2, ..., N , s punktami, w ktrych wyznaczamy
przyblione rozwizania. Zauwamy, e wektor (funkcja) y jest okrelony
192 Metody numeryczne w przykadach

tylko w punktach xi i oznaczenie f ( xi , y i ) symbolem yi jest jedynie


umowne.
W przypadku jednego rwnania rniczkowego (m=1) stosujemy te
same oznaczenia, wstawiajc zamiast wektorw wartoci skalarne. Wpro-
wadzajc wzory zarwno w metodach rnicowych, jak i w metodach
typu Rungego-Kutty zakadamy, e punkty xi s rwnoodlege:
xi = x0 + ih,
gdzie h jest krokiem cakowania.
Rozwizanie yn1 wyznacza si za pomoc obliczonych wczeniej
wartoci yn , yn1,..., yn k (k 0) , co mona zapisa w postaci:
A n (h, y nk ,..., y n ; y n1 ) 0 , (7.6)
przy czym rwnanie (7.6) moe by liniowe lub nieliniowe wzgldem
niewiadomej yn1 . Po podstawieniu dokadnego rozwizania Yi do (7.6),
otrzymujemy rwnanie:
A n (h, Ynk ,..., Yn ; Yn1 ) Tn . (7.7)
Wielko Tn nazywamy bdem metody powstaym przy przejciu od
xn do xn+1. Jeeli bd Tn jako funkcj zmiennej h mona przedstawi
w postaci:
Tn h p1 p O(h p2 ) , (7.8)

gdzie p 0 , to liczb p nazywa si rzdem dokadnoci lub po prostu


rzdem metody przyblionej.
Metody numeryczne pozwalaj zwykle okreli rozwizanie:
y(xk)=yk
w sposb przybliony w stosunku do wartoci waciwej Yk. Wielko:
y k Yk
przedstawia bd cakowity dla x=xk , na ktry skada si bd obcicia,
czyli bd algorytmiczny zaleny od charakteru algorytmu uytego do
obliczenia y(x), a take bd zaokrglenia (bd maszynowy
spowodowany skoczon dugoci sowa maszynowego). Oba rodzaje
bdw kumuluj si w kolejnych krokach i std, w celu porwnania
7. Rozwizywanie rwna i ukadw rwna rniczkowych zwyczajnych 193

algorytmw, zamiast bdu cakowitego wygodniej jest uywa bdu


lokalnego.
Bd lokalny przy x=x1 definiuje si podobnie:
1 y1 Y1 ,
przy zaoeniu, e warto y dla poprzedniego kroku bya dokadn
wartoci funkcji y(x) w punkcie x1.
Algorytm nazywamy numerycznie stabilnym, gdy lokalny bd
zaokrglenia maleje ze wzrostem liczby krokw. W przeciwnym
wypadku algorytm jest niestabilny i nie przedstawia sob adnej wartoci
praktycznej.
W dalszych rozwaaniach zakadamy, e dla rozpatrywanego
zagadnienia pocztkowego (7.1), (7.2), s spenione podane wczeniej
warunki istnienia i jednoznacznoci rozwizania. Zaoenia te s istotne
nie tylko dla istnienia i jednoznacznoci rozwizania, ale take dla
zbienoci rozpatrywanych metod.

7.2. Metoda Eulera


Jedn z najprostszych metod rozwizywania zagadnienia (7.1), (7.2) jest
metoda Eulera, bdca szczeglnym przypadkiem zarwno metod
rnicowych jak i metod typu Rungego-Kutty.
Rozwamy najpierw przypadek tylko jednego rwnania
rniczkowego (7.4):
dy
f ( x, y ), y ( x0 ) y 0 .
dx
Rwnanie to dla kadego punktu (x, y) okrela nachylenie stycznej do
rozwizania przechodzcej przez dany punkt. Kierunek stycznej zmienia
si w sposb cigy od punktu do punktu, ale najprostsza aproksymacja
polega na tym, e rozwizanie bada si tylko dla pewnych wartoci x=x0,
x0+h, x0+2h, x0+3h, ... oraz przyjmuje si, e warto dy/dx jest staa
midzy ssiednimi punktami. Wobec tego rwnanie aproksymuje si
aman (rys. 7.2) o wierzchokach (0,y0), (h,y1), (2h,y2),... , gdzie:
yn 1 yn
f (nh, yn ) .
h
194 Metody numeryczne w przykadach

Otrzymujemy std prosty wzr rekurencyjny okrelajcy metod


Eulera:
yn1 yn hf ( x0 nh, yn ), n 0,1,... (7.9)
Metoda Eulera ma prost interpretacj geometryczn (rys. 7.3).
Odcinek Mi Mi+1 ma w punkcie Mi = Mi(xi,yi) kierunek zgodny
z kierunkiem stycznej do krzywej cakowej rwnania y f ( x, y ) , ktra
przechodzi przez punkt Mi. Z tego te powodu metoda Eulera jest
nazywana czsto metod stycznych.
W przypadku ukadu rwna rniczkowych postaci (7.3) metoda
Eulera przyjmuje posta ogln:
y n1 y n hf ( xn , y n ), n 0,1,... . (7.10)

y3

y2
y1

0 h 2h 3h x

Rys. 7.2. Aproksymacja rozwizania aman

W metodzie Eulera dla h 0 w ustalonym punkcie x (x-x0=nh,


h 0, n ) rozwizanie yn jest zbiene do wartoci dokadnej Y(x)
i szybko tej zbienoci wynosi O(h) [4].

Podstawow wad metody jest fakt, e aby uzyska du dokadno


oblicze, dugo kroku musi by bardzo maa, co z kolei prowadzi do
wyduenia czasu oblicze.
7. Rozwizywanie rwna i ukadw rwna rniczkowych zwyczajnych 195

y Mi+1
yi Mi

y1 M1

y0

0 x0 x1 ........... xi xi+1 .... x

Rys. 7.3. Interpretacja geometryczna metody Eulera

7.3. Metody typu Rungego-Kutty


Metod okrelon wzorem:
s
y n1 y n wi k i , (7.11)
i 1

gdzie:
k 1 hf ( xn , y n ),
i 1
k i hf ( xn ai h, y n bij k j ), i 1,
j 1

wi , ai , bij - stae,
nazywamy metod Rungego-Kutty.
Metod t moemy bezporednio stosowa do rozwizania zagadnienia
(7.1), (7.2), poniewa w przeciwiestwie do metod rnicowych (patrz
rozdzia 7.4), do rozpoczcia oblicze wystarczy warunek pocztkowy
(7.2).
Istotn czci oblicze przy wyznaczaniu rozwiza yn1 jest
wyznaczenie funkcji f(x,y), wystpujcej po prawej stronie ukadu
rwna rniczkowych. Stosujc powysze wzory naley jednak
w kadym kroku s razy oblicza f(x,y). Dla metody rzdu p, naley tych
oblicze wykona co najmniej p.
196 Metody numeryczne w przykadach

Najwiksze znaczenie praktyczne maj metody rzdu czwartego dla


s=4. W tabeli 7.1 zestawiono wartoci wspczynnikw dla najbardziej
znanych metod typu (7.11).
Zalet podwyszenia rzdu algorytmu jest moliwo znacznego
wyduenia kroku h przy zachowaniu tej samej dokadnoci. Wad jest
znaczne zwikszenie liczby punktw porednich oblicze, ktre
w dodatku nie s wykorzystywane w nastpnych krokach. Ponadto
znaczn trudno stanowi w metodzie precyzyjne oszacowanie dugoci
kroku h dla uzyskania zaoonej wartoci lokalnego bdu obcicia.
Podamy jeszcze sposb wyboru kroku cakowania w standardowych
procedurach bibliotecznych, opartych na metodach czwartego rzdu.
Krok pocztkowy h0 i dokadno s podawane przez uytkownika.
Zamy, e mamy ju rozwizanie w punkcie xn. Obliczenia
w nastpnym etapie (tj. przy przejciu od xn do xn+1) s nastpujce. Niech
h oznacza krok cakowania z poprzedniego etapu oblicze (jeeli n=1, to
przyjmujemy h=h0). Za miar bdu metody na tym etapie przyjmujemy
liczb:
15
1 (1)
y n1 y (n2)1 , (7.12)

gdzie:
y(1)
n1 - oznacza przyblione rozwizanie w punkcie xn+1=xn+h, gdy
obliczenia wykonane zostay dwukrotnie z krokiem h/2;
y(n1
2)
- przyblione rozwizanie w punkcie xn+1 liczone od razu
z krokiem h.

Mog wystpi dwa przypadki:


a) - obliczone rozwizanie y(1)
n1 jest uznawane jako wystarczajco
dokadne. Wwczas, jeli ponadto / 50 , to krok h podwajamy,
w przeciwnym razie przechodzimy do nastpnego etapu.
b) - obliczone rozwizanie jest uznawane jako niewystarczajco
dokadne. Krok cakowania jest poowiony i obliczenia s
wykonywane jeszcze raz.
7. Rozwizywanie rwna i ukadw rwna rniczkowych zwyczajnych 197
Tabela 7.1. Wartoci wspczynnikw w metodach typu Rungego-Kutty

Rzd Stae wi Wartoci wspczynnikw ki Metoda


metody
1 w1=1 k1 hf ( xn , y n ) Eulera
k1 hf ( xn , y n ) Heuna
2 w1=w2=1/2 k 2 hf ( xn h, y n k1 ) (ulepszona
Eulera)
k1 hf ( xn , y n ) pokrewna
w1=w3=1/6 k 2 hf ( xn 0.5h, y n 0.5k1 )
3 metodzie
w2=2/3
k 3 hf ( xn h, y i k1 2k 2 ) Simpsona
k1 hf ( xn , y n )
k 2 hf ( xn 0.5h, y n 0.5k1 )
w1=w4=1/6 k 3 hf ( xn 0.5h, y n 0.5k 2 )
klasyczna
4 w2=w3=1/3 Rungego-Kutty
k 3 hf ( xn 0.5h, y n 0.5k 2 )
k 4 hf ( xn h, y n k 3 )

Przykad 7.4.
Znale rozwizanie rwnania y ( x) y z warunkiem pocztkowym
y(0)=1 metod Rungego-Kutty pierwszego rzdu (czyli metod Eulera)
dla x<0, 0.4> z krokiem h = 0.1.

Metoda Eulera ma posta:


y n1 y n hf ( xn , y n ), n 0,1,..., N .
W zadaniu dane s:
f(x,y) = y,
x0=0, b=0.4, y0=1, h=0.1 liczba krokw .
Obliczamy kolejno:
198 Metody numeryczne w przykadach

Rozwizaniem analitycznym przedstawionego rwnania


rniczkowego jest funkcja:
.

Na rysunku 7.4 zaprezentowane zostay wyniki dla rozwizania


dokadnego i wyniki otrzymane w metodzie Eulera na przedziale <0,2>.

4 yi_Euler
3 yi_dokl

0
0 0,2 0,4 0,6 0,8 1 1,2 1,4 1,6 1,8 2

Rys. 7.4. Porwnanie wynikw z metody Eulera z rozw. dokadnym

Przykad 7.5.
Znale rozwizanie rwnania y ( x) cos x sin x y z warunkiem
pocztkowym y(0)=2 metod Rungego-Kutty drugiego rzdu (czyli
metod ulepszon Eulera) dla x<0, 0.3> z krokiem h = 0.1.
7. Rozwizywanie rwna i ukadw rwna rniczkowych zwyczajnych 199

Metoda ulepszona Eulera ma posta:


y n1 y n f ( xn , y n ) f ( xn h, y n hf ( xn , y n )), n 0,1,..., N .
h
2
W zadaniu dane s:
f ( x, y ) cos x sin x y
x0=0, b=0.3, y0=2, h=0.1, liczba korkw .
Obliczamy kolejno:
,

[ ]
[ ]
[ ]
[ ]
[ ]

[ ]

[ ] 66538

W efekcie otrzymalimy:

Rozwizaniem analitycznym przedstawionego rwnania rnicz-


kowego jest funkcja .

Na rysunku 7.5 i 7.6 zaprezentowane zostay wartoci rwne rnicy


rozwizania dokadnego i wynikw otrzymanych odpowiednio
w metodzie ulepszonej Eulera dla kroku h=0.1 oraz h=0.05.
200 Metody numeryczne w przykadach

0,00045
0,0004
0,00035
0,0003
0,00025
0,0002
0,00015
0,0001
0,00005
0
0 0,1 0,2 0,3 0,4 0,5 0,6 0,7 0,8 0,9 1

Rys. 7.5. Bd w metodzie ulepszonej Eulera dla h=0.1

0,00012
0,0001
0,00008
0,00006
0,00004
0,00002
0
0,05

0,15

0,25

0,35

0,45

0,55

0,65

0,75

0,85

0,95
0,1

0,2

0,3

0,4

0,5

0,6

0,7

0,8

0,9
0

Rys. 7.6. Bd w metodzie ulepszonej Eulera dla h=0.05

Przykad 7.6.
Znale rozwizanie rwnania y( x) x y z warunkiem pocztkowym
y(0)=1 metod Rungego-Kutty czwartego rzdu dla x<0, 0.2> z krokiem
h = 0.1.
7. Rozwizywanie rwna i ukadw rwna rniczkowych zwyczajnych 201

Wzory Rungego-Kutty czwartego rzdu maj posta (tabela 7.1):


yi+1 = yi + (k1+ 2k2+ 2k3+ k4 )/6 i = 0, 1, 2, ...
przy czym:
k1 = hf(xi, yi),
k2 = hf(xi +0.5h, yi + 0.5k1),
k3 = hf(xi + 0.5h, yi + 0.5 k2 ),
k4 = hf(xi + h, yi + k3 ),

We wzorach tych:
yi+1= y(xi+1 ) = y(x0 + (i + 1)h).

Dla i = 0 obliczamy:
y1 = y(x1 ) = y(x0 + h) = y(0.1)
k1 = h(x0 + y0 ) = 0.1(0+1) = 0.1
k2= 0.1(0+0.1/2+1+0.1/2) = 0.11
k3 = 0.1(0+0.1/2+1+0.11/2) = 0.1105
k4 = 0.1(0+0.1+1+0.1105) = 0.12105
y1 = y0 + 1/6(k1 + 2k2 + 2k3 + k4 ) =
= 1+(0.1+20.11+20.1105+0.12105)/6 =1.110341.

Analogiczne obliczenia przeprowadzamy dla i = 1 - dla x2=x0+2h


obliczamy y2 =y(x2). Wartoci rozwizania zestawiono w tabeli 7.2.
202 Metody numeryczne w przykadach
Tabela 7.2. Wyniki oblicze dla przykadu 7.4

i x y k=0.1(x+y)
0 x0=0 y0 =1 k1 =0.1
x0+0.5h=0.05 y0+0.5k1=1.05 k2 =0.11
x0+0.5h=0.05 y0+0.5k2=1.055 k3 =0.1105
x0+h=0.1 y0+k3=1.1105 k4 =0.12105
1 x1=0.1 y1 =1.11034 k1 =0.121034
x1+0.5h=0.15 y1+0.5k1=1.170857 k2 =0.1320857
x1+0.5h=0.15 y1+0.5k2=1.17638285 k3 =0.132638285
x1+h=0.2 y1+k3=1.242978285 k4 =0.1442978285
2 x2=0.2 y2 =1.242803

7.4. Metody rnicowe (wielokrokowe)


W metodzie jednokrokowej (np. w metodzie Eulera, metodach typu
Rungego-Kutty) do wyznaczenia kolejnego przyblienia yn+1 wystarcza
znajomo tylko poprzedniego yn. W metodzie wielokrokowej
korzystamy z k obliczonych wczeniej wartoci yn1 k ,..., yn (k >1).
Metod okrelon wzorem:
k k
y n1 ai y n1i h bi fi (xn1i ; y n 1i ), n k 1 , (7.13)
i 1 i 0

gdzie wspczynniki ai, bi s liczbami rzeczywistymi, a h jest krokiem


cakowania, nazywamy metod rnicow (wielokrokow).
Jeeli k>1, to powysz metod moemy stosowa do rozwizywania
zagadnienia (7.1), (7.2) tylko wtedy, gdy znamy wartoci rozwizania
w punktach x1, x2, ..., xk-1 (rys. 7.7), bowiem warunek pocztkowy (7.2)
daje nam rozwizanie tylko w punkcie x0.
Do wyznaczenia punktw startowych wykorzystuje si zwykle
algorytmy jednokrokowe, np. algorytmy Rungego-Kutty, ktre
powtrzone k-krotnie przy ujemnej wartoci h pozwalaj wyznaczy
wymagane k punktw startowych.
Jeli b0=0, to wzr (7.13) nazywamy wzorem ekstrapolacyjnym
(jawnym). Szukana warto yn+1, n k 1, jest wwczas kombinacj
liniow obliczonych wczeniej wartoci yn1 k ,..., yn oraz fn1 k ,..., fn ,
a wic wyznaczenie rozwizania yn+1 jest stosunkowo proste.
7. Rozwizywanie rwna i ukadw rwna rniczkowych zwyczajnych 203

Jeeli natomiast b0 0 , to wzr (7.13) nazywamy wzorem


interpolacyjnym (uwikanym). Poniewa szukana warto yn+1 wystpuje
po obu stronach rwnania (7.13), wic na og wyznaczamy j stosujc
metody iteracyjne. Jeeli jednak ukad (7.1) jest liniowy, to yn+1 mona
wyznaczy bezporednio.

yk-1
Rozwizanie Rozwizanie otrzymane
y1 pocztkowe za pomoc wzoru (7.13)
y0 y0,...,yk-1

0 x0 x1 .......... xk-1 xk xk+1 .... x

Rys. 7.7. Interpretacja geometryczna wzoru (7.13)

W tabeli 7.3 zestawiono wzory rnicowe speniajce warunki


zbienoci (twierdzenia dotyczce zbienoci metod rnicowych mona
znale w pracy [4]), ktre najczciej s omawiane i stosowane
w praktyce. Wzory 1-5 s wzorami ekstrapolacyjnymi (jawnymi),
a wzory 6-10 s interpolacyjne (uwikane). Wzory 1-4 s typu Adamsa-
Bashfortha, wzr 5 jest typu Milnea. Wzory 6-9 s typu Adamsa-
Moultona, a wzr 10 poda Hamming.

Dla uzyskania maksymalnej efektywnoci algorytmu cakowania


numerycznego podany jest dobr optymalnego rzdu algorytmu oraz
kroku cakowania. Przy ich doborze naley mie na wzgldzie zarwno
stabilno algorytmu, jak i dopuszczalny bd cakowania [6].
204 Metody numeryczne w przykadach
Tabela 7.3. Zestawienie najczciej stosowanych wzorw rnicowych

Wzr Rzd metody p

1. y n1 y n hy n (ekstrapolacyjny Eulera) 1
h
2. y n 1 y n (3y n y n 1 ) 2
2
h
3. y n1 y n (23y n 16y n 1 5y n 2 ) 3
12
h
4. y n1 y n (55y n 59y n 1 37y n2 9y n 3 ) 4
24
4
5. y n 1 y n 3 h(2y n y n 1 2y n 2 ) 4
3
6. y n1 y n hy n1 (interpolacyjny Eulera) 1
h
7. y n 1 y n ( y n 1 y n ) 1
2
h
8. y n 1 y n (5y n1 8y n y n1 ) 3
12
h
9. y n1 y n (9y n1 19y n 5y n 1 y n2 ) 4
24
1 3
10. y n1 (9y n y n 2 ) h( y n1 2y n y n 1 ) 4
8 8

7.5. Metoda Geara dla ukadw sztywnych


Ukady rwna rniczkowych (7.3) nazywamy ukadami sztywnymi (le
uwarunkowanymi), gdy stosunek najwikszej co do moduu wartoci
wasnej macierzy Jacobiego (patrz rozdzia 5.6) do najmniejszej co do
moduu wartoci wasnej jest znacznie wikszy od jednoci.
Z takimi ukadami spotykamy si przy opisie wielu zagadnie
inynierskich np. w dynamice procesw i sterowania.
7. Rozwizywanie rwna i ukadw rwna rniczkowych zwyczajnych 205

Macierz Jacobiego ma posta:


f1 f1 f1
y ...
y 2 y m
1
f 2 f 2
...
f 2
J y1 y 2 y m (7.14)
... ... ...

f m f m
...
f m
y1 y 2 y m

Aby rozwiza efektywnie sztywny ukad rwna naley zastosowa


algorytm wielokrokowy o zmiennym rzdzie i zmiennym kroku
cakowania, przy czym zmiana h odbywa si bdzie w bardzo szerokim
zakresie. Powstaj przy tym trudne problemy stabilnoci algorytmu,
zwaszcza przy duej wartoci kroku h.

Do rozwizania sztywnych ukadw rwna zwykle stosowane s


algorytmy Geara.
Algorytm Geara rzdu k jest algorytmem wielokrokowym uwikanym,
okrelanym wzorem (7.13) o p=k-1 oraz wspczynnikach
b0 b1 ... bk 1 0 . Warto y n1 jest okrelona wwczas w sposb
nastpujcy:
k 1
y n1 ai y ni hb1 f ( xn1 , y n1 ) . (7.15)
i 0

Przykadowe wzory algorytmw Geara rzdu od jednego do czterech


zestawiono w tabeli 7.4 [6]. Algorytm Geara rzdu pierwszego jest
poznanym wczeniej algorytmem interpolacyjnym Eulera. Podobnie jak
algorytm Adamsa-Bashfortha, algorytm Geara rzdu k-tego wymaga k
wartoci startowych, a wic jest algorytmem k-krokowym.
Badania stabilnoci bezwzgldnej algorytmw Geara wykazuj, e
obszar stabilnoci bezwzgldnej jest znacznie szerszy ni najlepszego
dotd algorytmu Adamsa-Moultona oraz spenia wszystkie wymagane
warunki potrzebne do efektywnego i dokadnego rozwizania sztywnych
rwna rniczkowych.
206 Metody numeryczne w przykadach
Tabela 7.4. Algorytmy Geara rzdu 1-4

Wzr Rzd metody


1. y n1 y n hy n1 (interpolacyjny Eulera) 1

4 1 2
2. y n1 y n y n 1 hy n 1 2
3 3 3
18 9 2 6
3. y n1 y n y n 1 y n 2 hy n 1 3
11 11 11 11
48 36 16 3 12
4. y n 1 y n y n1 y n2 y n 3 hy n1 4
25 25 25 25 25

7.6. Zadania do samodzielnego rozwizania


Zadanie 7.1.
Metod Eulera znale rozwizanie rwnania podanych rwna
rniczkowych z warunkiem pocztkowym dla x z podanego przedziau
oraz z podanym krokiem h:
a) ;
b) ;
c) ;
d) ;
e) ;
f) .

Odp.
Tablice z wartociami funkcji dla kolejnych wartoci x:
a) F=[1, 1.25, 2.25, 3.375, 5.063, 7.594, 11.391, 17.086, 25.629];
b) F=[1, 1.24, 1.422, 1.58, 1.724, 1.859];
c) F=[0, 0.824, 3.543, 10.265, 25.043];
d) F=[0, 0.022, 0.071, 0.152, 0.271, 0.436, 0.655, 0.937, 1.293,
1.736, 2.279, 2.94, 3.737, 4.691, 5.827, 7.171, 8.756, 10.617,
12.795, 15.336, 18.291];
e) F=[-1, -0.916, -0.942, -1.072, -1.303, -1.629];
f) F=[0, 0.082, 0.262, 0.589, 1.169, 2.274, 4.769,
13.593, -101.389, -17.642, -11.855 ].
7. Rozwizywanie rwna i ukadw rwna rniczkowych zwyczajnych 207

Zadanie 7.2.
Ulepszon metod Eulera znale rozwizanie rwnania podanych
rwna rniczkowych z warunkiem pocztkowym dla x z podanego
przedziau oraz z podanym krokiem h:
a) ;
b) ;
c) ;
d) ;
e) .

Odp.
Tablice z wartociami funkcji dla kolejnych wartoci x:
a) F=[2, 2.301, 2.623, 2.964, 3.326, 3.707, 4.108, 4.53, 4.971, 5.433,
5.914];
b) F=[1, 1.195, 1.564, 2.185, 3.205, 4.897, 7.777, 12.851, 22.157];
c) F=[9.87, 7.851, 5.587, 3.777, 3.271, 4.947, 9.588, 17.737, 29.574,
44.821, 62.704];
d) F=[0.5, 0.581, 0.643, 0.68, 0.687, 0.663, 0.608, 0.522, 0.406,
0.258, 0.078];
e) F=[7.389, 8.743, 10.273, 12.001, 13.947, 16.137, 18.598, 21.36,
24.457, 27.926, 31.807, 36.146, 40.991, 46.398, 52.428, 59.146,
66.626, 74.949, 84.205, 94.491, 105.916].

Zadanie 7.3.
Wyznaczy przyblione wartoci rozwiza rwna rniczkowych
z warunkiem pocztkowym metod ulepszon Eulera w podanym punkcie
z zadanym krokiem.
a) ;
b) ;
c) .

Odp.
a) ;
b) ;
c) .
Bibliografia
1. Dahlquist G., Bjrck A.: Metody numeryczne. PWN,
Warszawa, 1983.
2. Guziak T., Kamiska A., Paczyk B., Sikora J., Metody
numeryczne w elektrotechnice, Wydawnictwo Politechniki
Lubelskiej, 2002.
3. Engeln-Mullges G., Uhlig F.: Numerical Recipes in C. Springer,
1996.
4. Fortuna Z., Macukow B., Wsowski J.: Metody numeryczne.
Warszawa, WNT, 1993.
5. Jankowscy J. i M.: Przegld metod i algorytmw
numerycznych. WNT, Warszawa, 1988.
6. Osowski S. Komputerowe metody analizy i optymalizacji
obwodw elektrycznych, Wydawnictwo Politechniki
Warszawskiej, Warszawa 1993.
7. Press W.H., Flannery B.P., Teukolsky S.A., Vetterling W.T.:
Numerical Recipes. Cambridge University Press, Cambridge,
1985.
8. Ralston A.: Wstp do analizy numerycznej. PWN, Warszawa,
1975.
9. Stoer J.: Wstp do metod numerycznych. PWN, Warszawa,
1979.
10. Stoer J., Bulirsch R.: Wstp do analizy numerycznej. PWN,
Warszawa, 1987.
11. Wit R.: Metody programowania nieliniowego. WNT,
Warszawa, 1986.
Indeks
dziaania elementarne algorytmu, 134
A
algorytm, 10
E
Adamsa-Bashfortha, 203 ekstrapolacja, 35, 39
Adamsa-Moultona, 203
Geara, 205
Hamminga, 203 F
Milnea, 203 funkcja
numerycznie poprawny, 21 aproksymujca, 58
numerycznie stabilny, 21, 193 interpolowana, 35
analiza Fouriera, 47 interpolujca, 35
aproksymacja, 58 nieparzysta, 48
jednostajna, 59 parzysta, 48
redniokwadratowa, 60 sklejana, 50
w przypadku normy Czebyszewa, 59 wagowa, 60
w przypadku normy l2 z wag, 60

G
B
graf, 122
baza przestrzeni wektorowej, 29
bd
bezwzgledny maksymalny, 11 I
bezwzgldny, 11
cakowity, 192 iloczyn skalarny wektorw, 28
graniczny, 11 iloraz
lokalny, 193 rnicowy, 40
metody, 192 interpolacja, 35
obcicia, 192 reszta interpolacji, 40
wzgldny, 11
zaokrglenia, 192 K
kombinacja liniowa wektorw, 29
C krok cakowania, 192
cakowanie numeryczne, 169 kwadratura, 169
cecha liczby, 13 Gaussa, 175
cyfra Gaussa-Czebyszewa, 181
istotna, 11 Gaussa-Hermitea, 179
istotna uamkowa, 11 Gaussa-Laguerrea, 180
uamkowa poprawna, 11 Gaussa-Legendrea, 182
znaczca, 11 interpolacyjna, 170
Newtona-Cotesa, 169
wzr Simpsona, 172
D wzr trapezw, 170
delta Kroneckera, 24
dyskretna analiza Fouriera, 47
210 Metody numeryczne w przykadach
Householdera, 101
L iteracji prostej, 107
liczba uwarunkowania macierzy, 118 iteracyjna, 147
liniowe zadanie najmniejszych kwadratw, jednokrokowa, 202
140 kolejnych przyblie, 147
minimalnych bdw, 119
minimalnych residuw, 119
M nadrelaksacji, 111
macierz, 23 najmniejszych kwadratw, 60
blokowa, 27 najszybszego spadku, 118
blokowo-przektniowa, 27 Newtona, 156
blokowo-trjktna, 28 Newtona-Raphsona, 156
diagonalizowalna, 31 poowienia, 147, 148
regula falsi, 150
diagonalna, 24
diagonalnie dominujca, 110 rwnego podziau, 148
rnicowa, 191, 202
dodatnio okrelona, 27
hermitowska, 27 Rungego-Kutty, 195, 197
siecznych, 155
Jacobiego, 164
jednostkowa, 24 Simpsona, 197
SOR, 111
komutujca, 117
kwadratowa, 24 sprzonych gradientw, 119
stycznych, 156, 194
nieosobliwa, 26
nieredukowalna, 109 typu Rungego-Kutty, 191
uoglniona Newtona-Raphsona, 164
odwrotna, 26, 105
ortogonalna, 27 wielokrokowa, 202
osobliwa, 26 minor, 26
podobna, 31
przektniowa, 24 N
pseudoodwrotna, 141
rzadka, 119 nadmiar pozycyjny, 15
sprzona, 25 niedomiar pozycyjny, 15
symetryczna, 27 nierwno
trjdiagonalna, 120 Schwarza, 33
trjktna, 25 trjkta, 33
trjktna dolna (lewa), 25 norma, 32
trjktna grna (prawa), 25 euklidesowa, 33
unitarna, 27 indukowana przez norm wektora, 34
Vandermondea, 37 maksymalna, 33
wstgowa, 120 zgodna, 34
mantysa liczby, 13
metoda
bisekcji, 147
O
Czebyszewa, 115 odbicia Householdera, 101
dyskretna, 191 operator liniowy, 23
eliminacji Gaussa, 84 optymalny poziom bdu, 21
eliminacji Gaussa-Jordana, 94
eliminacji zupenej (Jordana), 95
Eulera, 193 P
Gaussa-Seidela, 110
podprzestrze liniowa, 29
gradientowa, 117
podwyznacznik macierzy, 26
gradientw sprzonych, 119
pole wektorowe, 190
Heuna, 197
Indeks 211
poprawno algorytmu, 21 jednorodny, 30
przedzia izolacji, 147 normalny, 62
przeksztacenie sztywny, 204
przez podobiestwo, 31 le uwarunkowany, 204
przestrze wektorowa, 28 ukady rwna nieliniowych, 164
przyblienie funkcji, 58 uwarunkowanie zadania numerycznego, 21

R W
reprezentacja warto
staopozycyjna, 13 osobliwa macierzy, 141
zmiennopozycyjna, 13 szczeglna macierzy, 141
residuum, 140 wasna macierzy, 31
reszta interpolacji, 40 warunek Lipschitza, 188
rodzina rozwiza rwnania rn., 190 wektor, 28
rozkad kolumnowy, 24
Choleskiego, 99 liniowo niezaleny, 29
Householdera, 101 liniowo zaleny, 29
LU (trjktny), 95 wasny macierzy, 31
QR, 101, 102 wektor residualny, 140
wedug wartoci szczeglnych, 141 wze
rozwinicie dwjkowe liczby, 13 interpolacji, 35
rwnanie widmo
charakterystyczne macierzy, 31 macierzy, 31
rzd wielomian
dokadnoci metody, 192 Czebyszewa, 78
macierzy, 29 interpolacyjny, 36
metody przyblionej, 192 ortogonalny, 72
regua trjczonowa, 73
wsprzdne wektora wzgldem bazy, 29
S wyznacznik macierzy, 26, 106
stabilno algorytmu, 21 wzr
staa Lipschitza, 188 ekstrapolacyjny (jawny), 202
stopie macierzy kwadratowej, 24 interpolacyjny (uwikany), 203
symbol Kroneckera, 24 interpolacyjny Lagrange'a, 38
symulacja ukadu interpolacyjny Newtona, 42
ciga, 191 Simpsona, 172
dynamiczna, 191 trapezw, 170

T Z
transpozycja macierzy, 25 zadanie numeryczne, 10
zagadnienie pocztkowe, 187

U
ukad rwna, 30

You might also like