Upload
lexuyen
View
219
Download
0
Embed Size (px)
Citation preview
© Prof. Antoni Kozioł, Wydział Chemiczny Politechniki Wrocławskiej
MATEMATYKA STOSOWANA W INŻYNIERII CHEMICZNEJ
Wykład – 2
Układy równań – metody analityczne
Metody numeryczne rozwiązywania równań liczbowych
© Prof. Antoni Kozioł, Wydział Chemiczny Politechniki Wrocławskiej 2
ROZWIĄZYWANIE UKŁADÓW RÓWNAŃ
0),...,,(
0),...,,(
0),...,,(
21
212
211
nn
n
n
xxxF
xxxF
xxxF
Układem równań nazywamy n równości, w których występuje na ogół n niewiadomych. Każdy układ równań daje się sprowadzić do postaci:
© Prof. Antoni Kozioł, Wydział Chemiczny Politechniki Wrocławskiej 3
ROZWIĄZYWANIE UKŁADÓW RÓWNAŃ
033904.1),,(
0989351.0)sin(),,(
0)ln(4411.61),,(
3213213
3213212
321
3
3
2
213211
21
xxxexxxF
xxxxxxF
xxxxxxxxxF
xx
Przykładowy układ równań
© Prof. Antoni Kozioł, Wydział Chemiczny Politechniki Wrocławskiej 4
ROZWIĄZYWANIE UKŁADÓW RÓWNAŃ
Układ równań możemy zapisać w postaci wektorowej:
wektorowafunkcjaFFFF n ],...,[ 21
0)(
xF
chniewiadomywektorxxxx n ],...,[ 21
zerowywektor]0,...0,0[0
© Prof. Antoni Kozioł, Wydział Chemiczny Politechniki Wrocławskiej
ANALITYCZNE ROZWIĄZYWANIE UKŁADÓW RÓWNAŃ
Analityczne rozwiązanie układów jest możliwe w rzadkich przypadkach, gdy za pomocą różnych przekształceń można układ sprowadzić do równania algebraicznego stopnia co najwyżej 4.
Przykład: 2 2
1 2
2
1 1 2
13
2 3
x x
x x x
Wyznaczając z drugiego równania x2 i podstawiając do równania pierwszego otrzymujemy równanie 4 – tego stopnia:
4 3 2
1 1 1 14 4 10 6 4 0x x x x
Równanie to ma dwa pierwiastki rzeczywiste: x1,1=2 x1,2=-1.537
Podstawienie tych wartości do drugiego równania daje x2,1=3 x2,2=3.2616
© Prof. Antoni Kozioł, Wydział Chemiczny Politechniki Wrocławskiej
ANALITYCZNE ROZWIĄZYWANIE UKŁADÓW RÓWNAŃ LINIOWYCH
Stosunkowo często w wielu zastosowaniach występują układy równań liniowych. Układy takie można rozwiązywać analitycznie za pomocą wielu metod.
Układ równań liniowych można zapisać następująco:
11 1 12 2 1 1
21 1 22 2 2 2
1 1 2 2
...
...
...
n n
n n
n n nn n n
a x a x a x w
a x a x a x w
a x a x a x w
Współczynniki liczbowe występujące po lewej stronie tworzą tzw. macierz główną układu. Liczby po prawej stronie tworzą tzw. wektor wyrazów wolnych.
© Prof. Antoni Kozioł, Wydział Chemiczny Politechniki Wrocławskiej
ANALITYCZNE ROZWIĄZYWANIE UKŁADÓW RÓWNAŃ LINIOWYCH
Układ równań liniowych ma jednoznaczne rozwiązanie wtedy, gdy wyznacznik macierzy głównej jest różny od zera.
Spośród wielu metod analitycznych rozwiązywania układów liniowych
przypominam metodę wyznacznikową Cramera:
Zgodnie z tą metodą rozwiązanie liniowego układu równań jest dane za pomocą wzorów:
1 21 2
det( )det( ) det( )....
det( ) det( ) det( )
nn
AA Ax x x
A A A
gdzie: A – macierz główna układu Ai – macierz główna, w której i - tą kolumnę zastąpiono wektorem wyrazów wolnych
© Prof. Antoni Kozioł, Wydział Chemiczny Politechniki Wrocławskiej
Numeryczne metody rozwiązywania równań liczbowych
Bardzo często w praktycznych zastosowaniach występuje konieczność rozwiązywania równań, których nie można rozwiązać analitycznie. Są to równania algebraiczne stopnia wyższego niż 4 lub nawet proste równania, w których występują zależności funkcyjne. W takich przypadkach stosowane są metody przybliżone często nazywane numerycznymi.
© Prof. Antoni Kozioł, Wydział Chemiczny Politechniki Wrocławskiej
Numeryczne metody rozwiązywania równań liczbowych
1. Uwagi ogólne 2. Błąd pierwiastka i równania 3. Metoda bisekcji 4. Metoda „regula falsi” 5. Metoda siecznej 6. Metoda Newtona (stycznej) 7. Metoda iteracji prostej 8. Numeryczne rozwiązywanie układów
równań
© Wydział Chemiczny Politechniki Wrocławskiej, prof. Antoni Kozioł
NUMERYCZNE ROZWIĄZYWANIE RÓWNAŃ
,...,...,,}{ )()2()1()( ii xxxx
Numeryczne rozwiązywanie tego równania polega na konstrukcji ciągu liczbowego zbieżnego do szukanego pierwiastka:
Załóżmy że mamy do rozwiązania równanie:
)()( xGxF
xx i
i
)( )(
lim
)()( xGxF
szukany pierwiastek równania.
© Wydział Chemiczny Politechniki Wrocławskiej, prof. Antoni Kozioł 11
NUMERYCZNE ROZWIĄZYWANIE RÓWNAŃ
)()( ii
x xx
)()( )()()( iii
y xGxF
W związku z tym, że w praktyce zamiast granicy należy przyjąć konkretny, skończony wyraz ciągu, w metodach numerycznych dużą rolę odgrywa zagadnienie dokładności obliczeń lub też błędu pierwiastka lub równania. Błędem pierwiastka będziemy nazywać wartość absolutną różnicy rzeczywistego pierwiastka x* a konkretnym wyrazem xi ciągu liczbowego kończącym konstrukcję:
Błędem równania nazywamy wartość absolutną różnicy rzeczywistych wartości funkcji F i G w punkcie xi:
© Wydział Chemiczny Politechniki Wrocławskiej, prof. Antoni Kozioł 12
NUMERYCZNE ROZWIĄZYWANIE RÓWNAŃ
Pojęcia błędu pierwiastka i równania dla równania F(x)=0 można pokazać graficznie:
x
y
xi
x* F(xi)
y=F(x)
)()( ii
x xx
( ) ( )( )i i
y F x
© Wydział Chemiczny Politechniki Wrocławskiej, prof. Antoni Kozioł 13
NUMERYCZNE ROZWIĄZYWANIE RÓWNAŃ
Konstrukcję ciągu {xi} kończy się gdy błąd pierwiastka lub błąd równania (lub obydwu wartości) będzie mniejszy od z góry zadanej liczby dodatniej ε.
)(i
x
)(lub i
y
)(lub )()( i
y
i
x
© Prof. Antoni Kozioł, Wydział Chemiczny Politechniki Wrocławskiej 14
NUMERYCZNE ROZWIĄZYWANIE RÓWNAŃ
0)( xF
0)()( 00 bFaF
Istnieje kilka metod przybliżonego (numerycznego) rozwiązywania równań z jedną niewiadomą. Tutaj zaprezentuję Państwu 5 takich metod. Wszystkie metody zostaną przedstawione w postaci algorytmów (przepisów) za pomocą kolejnych kroków.
1. Metoda połowienia przedziału (bisekcji)
Metodę stosujemy do równania postaci:
Krok 1° - Za pomocą dowolnej metody znajdujemy przedział [a0,b0], w którym funkcja F(x) ma na brzegach przedziału różne znaki czyli spełnia warunek:
Jeżeli funkcja F jest ciągła to wiemy wtedy że pierwiastek znajduje się w przedziale [a0,b0].
© Prof. Antoni Kozioł, Wydział Chemiczny Politechniki Wrocławskiej 15
NUMERYCZNE ROZWIĄZYWANIE RÓWNAŃ
Krok 2° - Dzielimy przedział na pół tzn. zakładamy że pierwszym przybliżeniem pierwiastka jest środek przedziału:
22
000001
baabax
© Prof. Antoni Kozioł, Wydział Chemiczny Politechniki Wrocławskiej
NUMERYCZNE ROZWIĄZYWANIE RÓWNAŃ –Metoda bisekcji cd.
):():(0)()(
):():(0)()(
011101
011101
bbxabFxF
aaxbaFxF
Krok 3° - Badamy znak funkcji F(x) w punkcie x1 i porównujemy ze znakami tej funkcji na brzegach przedziału. Porównanie to daje nam informację, w której połówce znajduje się szukany pierwiastek. Jest on zawsze tam gdzie znaki na brzegach są różne. Po tej lokalizacji pierwiastka do dalszej procedury bierzemy odpowiednią połówkę. W tym celu środek przedziału podstawiamy jako brzeg b1 lub a1.
© Prof. Antoni Kozioł, Wydział Chemiczny Politechniki Wrocławskiej 17
NUMERYCZNE ROZWIĄZYWANIE RÓWNAŃ –Metoda bisekcji cd.
Krok 4° - Wracamy do kroku 2 tzn. nowy przedział dzielimy na pół i znajdujemy drugie przybliżenie pierwiastka x2. Następnie powtarzamy krok 3° itd. Powstaję w ten sposób typowa pętla numeryczna, którą przerywamy wtedy gdy osiągniemy żądaną dokładność obliczeń. Żądaną dokładność obliczeń na ogół określa się wybierają pewną dostatecznie małą dodatnią liczbę ε,
np. ε =10-6. Pętla kolejnych obliczeń zostaje przerwana, gdy
długość aktualnego przedziału będzie mniejsza od zadanej dokładności, tzn.:
nnn xxab )(
© Prof. Antoni Kozioł, Wydział Chemiczny Politechniki Wrocławskiej
NUMERYCZNE ROZWIĄZYWANIE RÓWNAŃ –Metoda bisekcji cd.
W przypadku metody bisekcji można z góry określić liczbę kroków wymaganą do osiągnięcia żądanej dokładności. Konstrukcja metody prowadzi do wzoru:
00
2lgab
n
© Prof. Antoni Kozioł, Wydział Chemiczny Politechniki Wrocławskiej 19
NUMERYCZNE ROZWIĄZYWANIE RÓWNAŃ –Metoda bisekcji cd.
Graficzna ilustracja metody bisekcji:
x
y
a0 b0
x*
x1
F(b0)
F(a0)
y=F(x)
Metoda bisekcji jest zawsze zbieżna, pod warunkiem znalezienia przedziału [a0,b0]
x2
© Prof. Antoni Kozioł, Wydział Chemiczny Politechniki Wrocławskiej 20
NUMERYCZNE ROZWIĄZYWANIE RÓWNAŃ –Metoda „regula falsi”
0)( xF
0)()( 00 bFaF
2. Metoda „regula falsi”
Metodę stosujemy do równania postaci:
Krok 1° - Za pomocą dowolnej metody znajdujemy przedział [a0,b0], w którym znajduje się szukany pierwiastek x*. Funkcja F(x) ma wtedy na brzegach przedziału różne znaki czyli musi spełniać warunek:
© Prof. Antoni Kozioł, Wydział Chemiczny Politechniki Wrocławskiej 21
NUMERYCZNE ROZWIĄZYWANIE RÓWNAŃ –Metoda „regula falsi”
Krok 2° - Zakładamy, że w przedziale tym funkcja jest liniowa. Prowadzi to do następującego wzoru określającego pierwsze przybliżenie pierwiastka:
)()(
)()(
00
00001
aFbF
aFbbFax
Otrzymany punkt x1 dzieli pierwotny przedział na dwa na ogół nierówne podprzedziały. W jednym z tych podprzedziałów będzie się znajdował szukany pierwiastek.
© Prof. Antoni Kozioł, Wydział Chemiczny Politechniki Wrocławskiej
NUMERYCZNE ROZWIĄZYWANIE
RÓWNAŃ – metoda „regula falsi” cd.
):():(0)()(
):():(0)()(
011101
011101
bbxabFxF
aaxbaFxF
Krok 3° - Obliczamy wartość funkcji F(x) w punkcie x1 a znak tej wartości porównujemy ze znakami tej funkcji na brzegach przedziału. Porównanie to daje nam informację, w którym podprzedziale znajduje się szukany pierwiastek. Jest on zawsze tam gdzie znaki na brzegach są różne. Po tej lokalizacji pierwiastka do dalszej procedury wybieramy odpowiedni podprzedział. W tym celu obliczony punkt x1 podstawiamy jako brzeg b1 lub a1.
© Prof. Antoni Kozioł, Wydział Chemiczny Politechniki Wrocławskiej 23
NUMERYCZNE ROZWIĄZYWANIE
RÓWNAŃ – metoda „regula falsi” cd.
Krok 4° - Wracamy do kroku 2 tzn. nowy przedział dzielimy na dwie części za pomocą założenia liniowości i znajdujemy drugie przybliżenie pierwiastka x2. Wzór wynikający z tego założenia dla i – tego przybliżenia jest następujący:
)()(
)()(
11
1111
ii
iiiii
aFbF
aFbbFax
© Prof. Antoni Kozioł, Wydział Chemiczny Politechniki Wrocławskiej
NUMERYCZNE ROZWIĄZYWANIE
RÓWNAŃ – metoda „regula falsi” cd.
Następnie powtarzamy krok 3° itd. Pętla kolejnych obliczeń zostaje przerwana, gdy długość aktualnego przedziału będzie mniejsza od zadanej dokładności, tzn.:
nnn xxab )(
W przypadku metody „regula falsi” nie można z góry określić liczby kroków koniecznych do osiągnięcia żądanej dokładności.
© Prof. Antoni Kozioł, Wydział Chemiczny Politechniki Wrocławskiej 25
NUMERYCZNE ROZWIĄZYWANIE
RÓWNAŃ – metoda „regula falsi” cd. Graficzna ilustracja metody „regula falsi”:
x
y
a0 b0
x*
x1
F(b0)
F(a0)
y=F(x)
Metoda „regula falsi” podobnie jak metoda bisekcji jest zawsze zbieżna, pod warunkiem znalezienia przedziału [a0,b0]
x2
© Prof. Antoni Kozioł, Wydział Chemiczny Politechniki Wrocławskiej
NUMERYCZNE ROZWIĄZYWANIE RÓWNAŃ –Metoda siecznej
0)( xF
3. Metoda siecznej
Metodę stosujemy do równania postaci:
Krok 1° - Za pomocą dowolnej metody znajdujemy dwie różne liczby a i b leżące w pobliżu szukanego pierwiastka x*.
Następnie obliczamy wartości funkcji F(a) i F(b). W zależności od tych wartości określamy dwa pierwsze przybliżenia x1 i x2:
):():()()(
):():()()(
21
21
axbxbFaF
bxaxbFaF
© Prof. Antoni Kozioł, Wydział Chemiczny Politechniki Wrocławskiej 27
NUMERYCZNE ROZWIĄZYWANIE RÓWNAŃ –Metoda siecznej
Krok 2° - Na podstawie znajomości wartości funkcji w dwu poprzednich przybliżeniach obliczmy wartość kolejnego przybliżenia stosując wzór zakładający liniową postać funkcji (prowadzimy sieczną przez te punkty – stąd nazwa metody) :
)()(
)()(
12
1221
ii
iiiii
xFxF
xFxxFxx
Otrzymujemy w ten sposób ciąg kolejnych wartości pierwiastka x1,x2,…xi,…
© Prof. Antoni Kozioł, Wydział Chemiczny Politechniki Wrocławskiej 28
NUMERYCZNE ROZWIĄZYWANIE
RÓWNAŃ – metoda siecznej cd.
1 iii xx
W celu oszacowania dokładności na każdym etapie obliczamy wartość szacunkowego błędu :
Na ogół pętlę obliczeń przerywa się gdy:
i
Metoda siecznej może być rozbieżna tzn. kolejne błędy mogą wzrastać. W takim przypadku należy zmienić punkty startowe lub metodę.
© Prof. Antoni Kozioł, Wydział Chemiczny Politechniki Wrocławskiej
x2 x1
29
NUMERYCZNE ROZWIĄZYWANIE
RÓWNAŃ – metoda siecznej cd.
Graficzna ilustracja metody siecznej:
y
x
F(x1)
F(x2)
x3
x*
y=F(x)
© Prof. Antoni Kozioł, Wydział Chemiczny Politechniki Wrocławskiej
NUMERYCZNE ROZWIĄZYWANIE
RÓWNAŃ – Metoda Newtona (stycznej)
0)( xF
4. Metoda Newtona (stycznej)
Metoda ta jest bardzo znana i często stosowana.
Warunkiem stosowalności metody jest różniczkowalność funkcji F w pobliżu pierwiastka. Ponadto wartość pochodnej funkcji F musi być różna od zera. Oznacza to, że metoda nie nadaje się do równań, w których pierwiastek jest jednocześnie ekstremum lub punktem przegięcia.
Metodę stosujemy do równań w postaci:
© Prof. Antoni Kozioł, Wydział Chemiczny Politechniki Wrocławskiej
NUMERYCZNE ROZWIĄZYWANIE
RÓWNAŃ – Metoda Newtona (stycznej)
Krok 1° - Za pomocą dowolnej metody znajdujemy przybliżoną wartość pierwiastka x1 oraz przyjmujemy że i=1
Krok 2° - Różniczkujemy funkcję F(x) i obliczamy pochodną F’(xi)
)('
)(1
i
iii
xF
xFxx
Krok 3° - Obliczamy przybliżenie następne xi+1 za pomocą wzoru iteracyjnego (na podstawie przybliżenia poprzedniego xi)
Istotą metody Newtona jest przyjęcie że funkcja ma w pobliżu pierwiastka przebieg liniowy zbliżony do stycznej jej wykresu w punkcie xi. Wzór powyższy wynika z tego założenia.
© Prof. Antoni Kozioł, Wydział Chemiczny Politechniki Wrocławskiej 32
NUMERYCZNE ROZWIĄZYWANIE
RÓWNAŃ – Metoda Newtona (stycznej)
Krok 4° - Obliczamy różnicę |xi+1-xi| i porównujemy ją z zadaną dokładnością ε.
Krok 5° - Jeżeli aktualna dokładność jest mniejsza od założonej to zwiększamy numer i o 1 i wracamy do kroku 3°. Obliczenia przerywamy po uzyskaniu zadanej dokładności.
© Prof. Antoni Kozioł, Wydział Chemiczny Politechniki Wrocławskiej 33
NUMERYCZNE ROZWIĄZYWANIE
RÓWNAŃ – Metoda Newtona cd. Graficzna ilustracja metody stycznej:
y
x x1
F(x1) x*
y=F(x)
)('
)()()('
1
112
21
11
xF
xFxx
xx
xFxF
Metoda Newtona może być rozbieżna. W takim przypadku należy albo poszukać nowego przybliżenia początkowego albo przekształcić równanie do innej postaci albo też zmienić metodę.
x2 x3
© Prof. Antoni Kozioł, Wydział Chemiczny Politechniki Wrocławskiej
NUMERYCZNE ROZWIĄZYWANIE
RÓWNAŃ – Metoda iteracji prostej
)(xfx
5. Metoda iteracji prostej Jest to najprostsza z istniejących metod numerycznych.
Metodę stosujemy do równań postaci:
Krok 1° - Za pomocą dowolnej metody znajdujemy przybliżoną wartość pierwiastka x1 oraz przyjmujemy że i=1
)(1 ii xfx
Krok 2° - Obliczamy przybliżenie następne xi+1 za pomocą wzoru iteracyjnego (na podstawie przybliżenia poprzedniego xi) będącego bezpośrednim zapisem równania:
© Prof. Antoni Kozioł, Wydział Chemiczny Politechniki Wrocławskiej 35
NUMERYCZNE ROZWIĄZYWANIE
RÓWNAŃ – Metoda iteracji prostej
Krok 3° - Obliczamy różnicę |xi+1-xi| i porównujemy ją z zadaną dokładnością ε.
Krok 4° - Jeżeli aktualna dokładność jest mniejsza od założonej to zwiększamy numer i o 1 i wracamy do kroku 2°. Obliczenia przerywamy po osiągnięciu zadanej dokładności.
Również metoda iteracji prostej dosyć często jest rozbieżna. W takim przypadku zmiana przybliżenia początkowego nic nie daje. Należy albo przekształcić równanie do innej postaci albo też zmienić metodę.
© Prof. Antoni Kozioł, Wydział Chemiczny Politechniki Wrocławskiej
x2
36
NUMERYCZNE ROZWIĄZYWANIE
RÓWNAŃ – Metoda iteracji prostej cd. Za pomocą ilustracji graficznej można pokazać przypadki, w których
metoda ta jest zbieżna lub rozbieżna. Rozpatrzmy najpierw funkcje rosnące.
x
y
y=f(x)
y=x
x*
f(x1)
f(x2)
x
y y=x
y=f(x)
f(x1)
f(x2)
Metoda zbieżna Metoda rozbieżna
x*
x1 x2 x3 x1 x3
© Prof. Antoni Kozioł, Wydział Chemiczny Politechniki Wrocławskiej 37
NUMERYCZNE ROZWIĄZYWANIE
RÓWNAŃ – Metoda iteracji prostej cd. A teraz funkcje malejące.
x
y
y=f(x)
y=x
x* x1
f(x1)
f(x2)
x
y y=x
y=f(x)
f(x1)
f(x2)
Metoda zbieżna
x2
Metoda rozbieżna
x3
x* x1 x2
x3
© Prof. Antoni Kozioł, Wydział Chemiczny Politechniki Wrocławskiej 38
NUMERYCZNE ROZWIĄZYWANIE
RÓWNAŃ – Metoda iteracji prostej cd.
1)(' xf
Jeżeli funkcja f(x) jest różniczkowalna to można w prosty sposób określić zbieżność metody iteracji prostej. O zbieżności metody decyduje następujące twierdzenie: Jeżeli w pobliżu pierwiastka równania x=f(x) pochodna funkcji f spełnia warunek:
to metoda jest zbieżna. Jeżeli natomiast
1)(' xf
to metoda jest rozbieżna.
© Prof. Antoni Kozioł, Wydział Chemiczny Politechniki Wrocławskiej 39
NUMERYCZNE METODY ROZWIĄZYWANIE UKŁADÓW RÓWNAŃ
Układy podobnie jak pojedyncze równania można rozwiązywać metodami analitycznymi (dokładnymi) lub numerycznymi (przybliżonymi). Analitycznie można rozwiązywać np. układy równań liniowych lub niektóre proste układy nieliniowe. W metodach numerycznych konstruuje się ciąg wektorów zbieżny do wektora pierwiastków niewiadomych. W związku z tym, że jest to ciąg wektorowy, charakter wektorowy ma również dokładność pierwiastka i dokładność równań.
])(,...,)(,)([],...,,[ )()(
2
)(
1
)()(
2
)(
1
)( i
n
iii
yn
i
y
i
y
i
y xFxFxF
],...,,[],...,,[ )()(
22
)(
11
)()(
2
)(
1
)( i
nn
iii
xn
i
x
i
x
i
x xxxxxx
© Prof. Antoni Kozioł, Wydział Chemiczny Politechniki Wrocławskiej 40
NUMERYCZNE METODY ROZWIĄZYWANIE UKŁADÓW RÓWNAŃ
W celu stwierdzenia kiedy należy zakończyć konstrukcję ciągu rozwiązań konieczne jest znormalizowanie (czyli „zmierzenie”) powyższych wektorów. Najczęściej stosowane są dwie normy: jednostajna i średniokwadratowa. Stosowanie normy jednostajnej jest bardziej rygorystyczne niż normy średniokwadratowej, tzn. że norma jednostajna zazwyczaj prowadzi do dłuższych obliczeń.
© Prof. Antoni Kozioł, Wydział Chemiczny Politechniki Wrocławskiej 41
NUMERYCZNE ROZWIĄZYWANIE UKŁADÓW RÓWNAŃ
)(max1
j
nj
n
j
jn 1
2
2
1
Norma jednostajna:
Norma średniokwadratowa:
Rozważmy przykładowy wektor:
1.0)001.0,01.0,1.0max(
]001.0,01.0,1.0[
058026.0)001.001.01.0(3
1 222
2
© Prof. Antoni Kozioł, Wydział Chemiczny Politechniki Wrocławskiej 42
NUMERYCZNE ROZWIĄZYWANIE UKŁADÓW RÓWNAŃ
Konstrukcja ciągu rozwiązań jest przerywana gdy norma wybranej dokładności (pierwiastka lub równania) staje się mniejsza lub równa zadanej dokładności obliczeń ε czyli:
)()( lub i
y
i
x
)( )()( i
y
i
x
albo
© Prof. Antoni Kozioł, Wydział Chemiczny Politechniki Wrocławskiej 43
NUMERYCZNE ROZWIĄZYWANIE UKŁADÓW RÓWNAŃ
)(xfx
1. Metoda iteracji prostej. Aby zastosować tę metodę układ równań należy przekształcić do postaci:
W pierwszym kroku trzeba znaleźć pierwsze przybliżenie wektora niewiadomych czyli startowe wartości wszystkich niewiadomych. Kolejne wyrazy ciągu znajdujemy bezpośrednio za pomocą równania tzn.:
)( )1()( ii xfx
Metoda jest zbieżna gdy ciąg norm wektora dokładności jest zbieżny do zera. Na ogół jednak metoda iteracji prostej nie jest zbieżna.
© Prof. Antoni Kozioł, Wydział Chemiczny Politechniki Wrocławskiej 44
NUMERYCZNE ROZWIĄZYWANIE UKŁADÓW RÓWNAŃ
033904.1),,(
0989351.0)sin(),,(
0)ln(4411.61),,(
3213213
3213212
321
3
3
2
213211
21
xxxexxxF
xxxxxxF
xxxxxxxxxF
xx
Spróbujmy rozwiązać metodą iteracji prostej nasz przykładowy układ równań:
Za pomocą prostych przekształceń układ ten można doprowadzić do postaci:
3 2
2132132133
1
32132122
32
32111
)ln(4411.61),,(
)33904.1ln(),,(
)sin(
989351.0),,(
xxxxxxxxfx
x
xxxxxxfx
xxxxxfx
© Prof. Antoni Kozioł, Wydział Chemiczny Politechniki Wrocławskiej 45
NUMERYCZNE ROZWIĄZYWANIE UKŁADÓW RÓWNAŃ
9.49.29.0 )0(
3
)0(
2
)0(
1 xxx
Załóżmy że początkowy wektor rozwiązań wynosi:
Za pomocą wzorów określających postać iteracyjną układu można obliczyć kolejne wektory rozwiązania:
9993.49974.29955.0
0073.59644.29954.0
0029.59613.201177.1
9989.4066.30305.1
81399.415615.3990794.0
)5(
3
)5(
2
)5(
1
)4(
3
)4(
2
)4(
1
)3(
3
)3(
2
)3(
1
)2(
3
)2(
2
)2(
1
)1(
3
)1(
2
)1(
1
xxx
xxx
xxx
xxx
xxx
Widzimy że metoda jest zbieżna a wektor rozwiązań wynosi: 0.50.30.1 321 xxx
© Prof. Antoni Kozioł, Wydział Chemiczny Politechniki Wrocławskiej
NUMERYCZNE ROZWIĄZYWANIE UKŁADÓW RÓWNAŃ
0)(
xF
2. Metoda Newtona - Raphsona. Jest to adaptacja metody stycznej do układów równań. Metodę stosuje się do układu w postaci:
W pierwszym kroku trzeba znaleźć pierwsze przybliżenie wektora niewiadomych czyli startowe wartości wszystkich niewiadomych. Kolejne wyrazy ciągu znajdujemy za pomocą następującej procedury:
© Prof. Antoni Kozioł, Wydział Chemiczny Politechniki Wrocławskiej 47
NUMERYCZNE ROZWIĄZYWANIE UKŁADÓW RÓWNAŃ
],...,,[ )()(
2
)(
1
)(
)()1()(
i
n
iii
iii gdziexx
- wektor przyrostów wyznaczany za pomocą układu równań liniowych w zapisie macierzowym:
)()(' )1()()1( iii xFxF
F’ oznacza macierz kwadratową pochodnych cząstkowych funkcji wektorowej F.
© Prof. Antoni Kozioł, Wydział Chemiczny Politechniki Wrocławskiej 48
NUMERYCZNE ROZWIĄZYWANIE UKŁADÓW RÓWNAŃ
)()(
...)()(
......................................................................................................
)()(
...)()(
)()(
...)()(
)1()()1(
)(
2
2
)1()(
1
1
)1(
)1(
2
)()1(
2)(
2
2
)1(
2)(
1
1
)1(
2
)1(
1
)()1(
1)(
2
2
)1(
1)(
1
1
)1(
1
i
n
i
n
n
i
nii
nii
n
ii
n
n
ii
ii
i
ii
n
n
ii
ii
i
xFx
xF
x
xF
x
xF
xFx
xF
x
xF
x
xF
xFx
xF
x
xF
x
xF
Pełny zapis tego pomocniczego układu równań jest następujący:
Proces konstrukcji ciągu rozwiązań przerywamy gdy norma (średniokwadratowa lub jednostajna) wektora przyrostów osiągnie zadaną dokładność ε.
n
j
i
j
i
n 1
2)(
2
)( 1
© Prof. Antoni Kozioł, Wydział Chemiczny Politechniki Wrocławskiej 49
NUMERYCZNE ROZWIĄZYWANIE UKŁADÓW RÓWNAŃ
Rozwiążmy za pomocą metody Newtona – Raphsona nasz przykładowy układ równań.
5.57.28.0 )0(
3
)0(
2
)0(
1 xxx
Załóżmy że początkowy wektor rozwiązań wynosi:
Podstawiając te wartości do zasadniczego układu równań liniowych otrzymujemy wektor przyrostów Δ:
]422735.0,671782.0,323508.0[)1( Dodając odpowiednie przyrosty otrzymujemy poprawiony wektor rozwiązań:
07724.537178.312351.1 )1(
3
)1(
2
)1(
1 xxx
© Prof. Antoni Kozioł, Wydział Chemiczny Politechniki Wrocławskiej 50
NUMERYCZNE ROZWIĄZYWANIE UKŁADÓW RÓWNAŃ
Podstawieniu nowych wartości prowadzi do drugiego wektora Δ:
]073858.0,17273.0,116344.0[)2( co daje kolejny wektor rozwiązań:
0034.519905.300716.1 )2(
3
)2(
2
)2(
1 xxxi dalej:
]002946.0,1583.0,01354.0[)3(
00044.50408.399362.0 )3(
3
)3(
2
)3(
1 xxx
]00044.0,03925.0,00585.0[)4(
00000.50015.399948.0 )4(
3
)4(
2
)4(
1 xxx
Widzimy, że w czwartej iteracji otrzymaliśmy dokładność rzędu jednej tysięcznej.
© Prof. Antoni Kozioł, Wydział Chemiczny Politechniki Wrocławskiej 51
To na dzisiaj wystarczy…..
Dziękuję bardzo Państwu za uwagę !