Upload
others
View
7
Download
0
Embed Size (px)
Citation preview
PG WETiI Katedra Systemów Automatyki
Algorytmy obliczeniowe
Dr inż. Krzysztof Cisowski
Tel: 583471274, email: [email protected]
Kierunek studiów Automatyka i Robotyka
Zakres i treść przedmiotu (1)
1. Wprowadzenie do metod numerycznych: klasyfikacja błędów.
2. Metody rozwiązywania równań nieliniowych: metoda bisekcji, metoda stycznych (metoda Newtona-Raphsona), metoda iteracji prostej.
3. Interpolacja funkcji: metoda Lagrange’a, metoda Czebyszewa, metoda trygonometryczna.
4. Różnice skończone. Wzór interpolacyjny Stirlinga, I i II wzór interpolacyjny Newtona.
5. Aproksymacja funkcji: metoda najmniejszych kwadratów dla przypadku ciągłego i dyskretnego.
6. Aproksymacja średniokwadratowa dyskretna za za pomocą wielomianów Grama oraz za pomocą wielomianów trygonometrycznych.
7. Aproksymacja za pomocą wzorów empirycznych.
8. Metody dokładne rozwiązywania układów równań liniowych. Metoda eliminacji Gaussa.
Zakres i treść przedmiotu (2)
9. Rozkład macierzy kwadratowej na iloczyn macierzy trójkątnych. Metody rozwiązywania układu równań liniowych: metoda LU oraz metoda QR. Oblicznie wyznaczników i odwracanie macierzy trójkatnych.
10. Metody iteracyjne rozwiązywania układów równań liniowych: metoda Jacobiego, metoda Gaussa-Seidela.
11. Metody rozwiązywania układów równań nieliniowych: metoda Newtona- Raphsona.
12. Całkowanie numeryczne: metoda prostokątów, metoda trapezów, metoda Simpsona.
13. Różniczkowanie numeryczne z wykorzystaniem szeregu Taylora oraz zróżniczkowanych wielomianów interpolacyjnych.
14. Rozwiązywanie równań różniczkowych zwyczajnych: metoda Eulera, metoda Rungego-Kutty.
15. Dyskretna transformacja Fouriera (DFT) – algorytm szybkiego przekształcenia Fouriera (FFT).
Bibliografia
1. T. Ratajczak, Metody numeryczne Przykłady i zadania, Wydawnictwo Politechniki Gdańskiej, Gdańsk 2006.
2. Steven C. Chapra, Applied Numerical Methods with MATLAB® for Engineers and Scientists, The McGraw-Hill Companies, Inc. New York 2012.
3. A. Szatkowski, J. Cichosz, Metody numeryczne podstawy teoretyczne, Wydawnictwo Politechniki Gdańskiej, Gdańsk 2002.
4. M. Dryja, J. i M. Jankowscy, Przegląd metod i algorytmów numerycznych, WNT, W-wa 1988.
5. T. Trajdos, Matematyka część III, seria Elektronika, Informatyka, Telekomunikacja, WNT Warszawa 1981.
6. Z. Fortuna, J. Wąsowski, B. Macukow, "Metody numeryczne", seria Elektronika, Informatyka, Telekomunikacja, WNT Warszawa 2009.
7. R. Chassaing, D. Reay, Digital signal processing and Applications with the C6713 and C6416 DSK, Wiley-Interscience 2008.
1. Wprowadzenie do metod numerycznych
Cecha charakterystyczna metod numerycznych
- wykonywanie obliczeń na liczbach przyblizonych
- rozwiązania zaganień są wyrażone liczbami przybliżonymi
- wielkość błędu w procesie obliczeń numerycznych jest zawsze kontrolowana
Dwa pojęcia określania wielkości błędu:
Błąd bezwzględny = | wartość przybliżona - wartość dokładna |
| wartość przybliżona - wartość dokładna | Błąd względny = ────────────────────────── |wartość dokładna |
1.1. Klasyfikacja błędów
- Błędy modelowania
- Błędy danych
- Błędy metody (błędy obcięcia)
- Błędy zaokrągleń
Błąd modelowania pojawiają się, gdy przyjęty model matematyczny jest
jedynie przybliżeniem zjawiska rzeczywistego
Przykład: Wzrost populacji często oblicza się w oparciu o zależność:
N(t) = N0 e kt ,
gdzie N0, k są stałymi (N0 oznacza liczebność populacji w chwili t = 0).
Dla dużych wartości t, wzór ten zwykle zawyża wyniki.
Błędy danych - to błędy danych wejściowych zadania numerycznego.
Pojawiają się gdy:
- dane wejściowe zadania są wynikiem pomiarów,
- w trakcie obliczeń używane są stałe, będące przybliżeniami liczb
niewymiernych.
Złe uwarunkowanie zadania numerycznego - niewielkie zmiany względne
danych zadania powodują duże względne zmiany jego rozwiązania.
Przykład:Rozwiązać następujące układy równań liniowych:
a) b)
a) b)
x1=6, x2=12, x3=60 x'1= -1377,777778, x'2=7217,460317, x'3= -6663,492063
a13 = a22 = a31 = 1/3 a'13 = a'22 = a'31 = 0,33
Błędy danych (c.d.)
(ai j ) = | a'i j - ai j | / | ai j |, i, j = 1, 2, 3 (xi ) = | x'i - xi | / | xi |, i = 1, 2, 3
(a13 )=(a22 )=(a31 )=| 0.33 - 1/3 | / | 1/3 | ∙ 100 %= | 99/300 - 100/300 | ∙ 300% = 1%
(x1 )=23063%, (x2 )=60045%, (x3 )=11206%
Wskaźnik uwarunkowania zadania oznaczany cond(zadanie) charakteryzuje
liczbowo wpływ zaburzeń danych zadania na zaburzenia rozwiązania.
Jest on równy najmniejszej liczbie rzeczywistej dodatniej spełniającej nierówność:
błąd względny( wyniki zadania ) ≤ cond( zadanie ) ∙ błąd względny( dane zadania )
Obliczenie wskaźnika uwarunkowania dla zmiennej x2
60045% ≤ cond( x2 ) ∙ 1% => cond( x2 ) = 60045.
Powyższe zadanie jest źle uwarunkowane, wskaźnik cond( x2 ) jest bardzo duży.
Błędy metody (błędy odcięcia)
Błędy metody pojawiają się w wyniku zastąpienia działań nieskończonych
działaniami skończonymi lub działań na wielkościach nieskończenie małych
działaniami na wielkościach skończenie małych. Błędy tego typu pojawiają się, gdy
obliczane są wartości pojęć zdefiniowanych za pomocą granicy.
Przykład 1: Obliczyć przybliżoną wartość pierwszej pochodnej funkcji ciągłej
w danym punkcie
Wybierając w przedziale punkt , wartość pierwszej pochodnej funkcji
w punkcie wyznaczymy obliczając granicę
Jeśli pominiemy operator granicy i wybierzemy małą
wartość odstępu otrzymamy aproksymację
wartości pierwszej pochodnej w punkcie
za pomocą ilorazu różnicowego
f ( x)
f ' (x i)=d f ( x )
d x |x= x i= lim( x i+1− x i)→ 0f (x i+1)− f ( x i)
x i+ 1−x i.
y= f (x ): y∈ℝ , x∈⟨a , b ⟩⊂ℝ x i∈⟨a , b⟩ .⟨a , b ⟩ x i+1
x i
f ' (x i)≃f ( x i+1)− f ( xi)
x i+1−x i.
x i+1− x ix i wg [2 ]
Błędy metody (błędy odcięcia) [c.d. 2.]
Przykład 2: Przeanalizować proces aproksymacji za pomocą „obciętego“ do
pierwszych wyrazów szeregu Taylora - tego rzędu funkcji
- krotnie różniczkowalnej w przedziale w sposób ciągły.
Szereg Taylora: przyjmując oraz można zapisać
gdzie to reszta w postaci Lagrange`a.
Oznaczając oraz otrzymujemy:
Jest to wielomian względem zmiennej rzedu , gdyż .
Jeśli (stąd ) szereg Taylora staje się szeregiem Maclaurina:
y= f (x ): y∈ℝ , x∈⟨a , b ⟩⊂ℝ ,
f ( xi+1)= f (x i)+ f ' (x i)⋅h+f ' ' (x i)
2!⋅h2+
f (3) (x i)3!
⋅h3+⋯+f (n )(x i)
n!⋅hn+Rn ,
Rn=f (n+1 )(ξ )(n+1)!
⋅hn+ 1=O(hn+1)
ξ ∈ ⟨ x i , x i+1⟩
x i , x i+ 1∈ ⟨a ,b⟩ h= xi+1−x i
(n+1)
Rn=O (hn+1)
⟨a ,b ⟩
f ( xi+1)=a0(x i)+a1( x i)⋅h+a 2(x i)⋅h2+a3(x i)⋅h
3+⋯+an( x i)⋅hn+Rn
x i=0 h= xi+1=xf ( x)=a0(0)+a1(0)⋅x+a2(0)⋅x
2+a3(0)⋅x3+⋯+an (0)⋅x
n+Rn
n
f ( xi)=a0( x i) f(k) (x i)/[(k +1)!]=a k ( x i)
h (n+1)
m(m < n)
Błędy metody (błędy odcięcia) [c.d. 3.]
Przykład 2 cd: Dobór zmiennej
Dla szeregu Taylora rzędu zerowego można napisać
Wartość należy dobrać tak, aby
równa tangensowi kąta nachylenia prostej
przechodzącej przez pkty. oraz wynosiła
Aproksymacja funkcji
Wykorzystując pierwszych wyrazów szeregu Taylora dokonujemy
aproksymacji funkcji - tego rzędu.
Aproks. rz. :
Aproks. rz. :
Aproks. rz. :
(x i , f (x i))
f ( xi+1)= f (x i)+R0= f ( x i)+ f ' (ξ )⋅h
ξ
ξ f ' (ξ )
(x i+1 , f ( x i+1)) f ' (ξ )=R0h
f ( x)m (m
Błędy metody (błędy odcięcia) [c.d. 4.]
Przykład 3: Obliczyć wartość funkcji w przedziale za
pomocą szeregu funkcyjnego (Maclaurina) obciętego do pierwszych wyrazów.
Rozwinięcie funkcji w nieskończony szereg potęgowy Maclaurina:
Rozwinięcie skończone (suma skończona) obraniczone do pierwszych wyrazów
szeregu ma postać:
y=sin (x) xϵ ,
f ∞( x)=sin (x )=∑k= 0
∞
(−1)k x2 k+1
(2 k +1)!= x− x
3
3!+ x
5
5!− x
7
7!+…
f ( x)=sin( x )
f m( x)=∑k=0
m
(−1)k x2 k +1
(2 k +1)!=x− x
3
3!+ x
5
5!− x
7
7!+…+(−1)m x
2 m+1
(2 m+1)!
m
m
Błędy metody (błędy odcięcia) [c.d. 5.]
Błąd metody pojawiający się w wyniku obcięcia szeregu nieskończonego do pierwszych wyrazów nie powinien przekroczyć zadanej wartości :
Własność szeregów naprzemiennych:
Jeżeli szereg jest naprzemieny i jego wyrazy co do bezwzględnej wartości
zmierzają monotonicznie do zera, to dla każdego naturalnego prawdziwa jest
nierówniość:
Własność powyższą można wykorzystać jako kryterium zakończenia algorytmu
obliczania wartości funkcji z zadaną dokładnością :
| f ∞ (x )− f m(x )|=| ∑k =m+1∞
(−1)k x2 k+ 1
(2k +1)!|< | x2m+3(2m+3)!|⩽ ε
| f ∞ (x )− f m(x )|=| ∑k =m+1∞
(−1)k x2 k+ 1
(2 k +1)!|⩽ ε
ε
m ε
∑k =0
∞
akm
|∑k=0∞
ak−∑k=0
m
ak|= | ∑k=m+1∞
ak|
Błędy metody (błędy odcięcia) [c.d. 6.]
Fragment programu zapisany w pseudokodzie służący do obliczania wartości
funkcji w przedziale z zadaną dokładnością :
y=sin ( x) xϵ , ε
Błędy zaokrągleń
Błędy zaokrągleń wynikają z faktu wykonywania obliczeń na liczbach o skończonym rozwinięciu pozycyjnym.
Struktura liczby stałoprzecinkowej o długości bity ( bit znaku, bitów przeznaczonych na wartość bezwzględną liczby):
Interpretacja struktury liczby stałoprzecinkowej:
(znak liczby)
(bity wartości bezwzględnej liczby)
n+2 n+11
Błędy zaokrągleń (c.d. 1.)
Na n+2 bitach można zapisywać liczby całkowite z przedziału [-2n+1+1; 2n+1-1]
Liczby stałoprzecinkowe są podzbiorem liczb całkowitych.
Liczby całkowite o wartości bezwzględnej p > 2n+1-1 nie mogą być reprezentowany
przez system n+2 bitowy. Jeśli w trakcie obliczeń pojawi się taka liczba, to wystąpi
sytuacja wyjątkowa nazywana nadmiarem stałoprzecinkowym.
Błędy zaokrągleń (c.d. 2.)
Liczby zmiennoprzecinkowe są reprezentowane za pomocą trzech obszarów bitów: znaku liczby s, mantysy mt, zapisanej na t bitach oraz cechy (exponent) cn zapisanej w formacie stałoprzecinkowym na n+2 bitach (sc oznacza znak cechy — ''1'' potęgi dodatnie, ''0'' potęgi ujemne).
Wagi:
Bity:
Znak Liczby mantysa mt cecha cn
Reprezentacja zmiennoprzecinkowa liczby x oznaczana rd(x) jest liczbą:
a samą liczbę x wyraża zależność
gdzie: s = 1 albo s = -1 - znak liczby,
- mantysa znormalizowana ( ), - mantysa liczby x, - cecha.
Błąd względny reprezentacji zmiennoprzecinkowej można oszacować w oparciu
o zależność: . Liczba określa dokładność komputera, zależy ona tylko od - liczby bitów mantysy.
2−1 2−2 2−t 2n 22 21 20
s b−1 b−2 b−t sc bn b2 b1 b0
rd x=s⋅mt⋅2cn ,
m t=1+∑k=1
t
b−k 2−k 1≤mt
Błędy zaokrągleń (c.d. 3.)
Zakresy zmienności:
mantysy -
cechy -
reprezentacji zmiennoprzecinkowej -
Liczby w tym , nie mają swojej reprezentacji zmiennoprzecinkowej.
Jeśli w trakcie obliczeń uzyskamy liczbę spełniającą powyższy warunek, to sytuację taką nazywamy niedomiarem zmiennoprzecinkowym (ang. Underflow)
Liczby równiez nie maja swojej reprezentacji zmiennoprzecinkowej.
Jeśli w trakcie obliczeń uzyskamy liczbę spełniającą powyższy warunek, to sytuację taką nazywamy namiarem zmiennoprzecinkowym (ang. Overflow)
rd (x )
1≤mt≤2−2−t
−2n+1+1≤cn≤2n+1−1
2⋅2−2n+1
≤|rd (x )|
Błędy zaokrągleń (c.d. 4.)
Problemy występujące podczas obliczeń zmiennoprzecinkowych (w poniższych przykładach mantysa jest 4 cyfrowa):
1. Jeśli wykonywana jest operacja odejmowania na dwoch „dużych“ liczbach nieznacznie się różniących (co oznacza, że na pozycjach najbardziej znaczących cyfry są równe a na pozycjach mniej znaczących cyfry mogą się różnić) — w wyniku następuje utrata cyfr znaczących. Na przykład obliczyć wartości funkcji dla Porównać uzyskane wyniki z wartościami „dokładnymi“ .
2. Jeśli do „dużej“ liczby dodawana jest liczba „mała“ suma może być równa liczbie „dużej“. Przykładowo dodając i konieczne jest wyrównanie cech obu liczb do cechy liczby wiekszej. Powoduje to efektywne wyzerowanie mantysy liczby mniejszej. W efekcie suma liczb jest równa samej liczbie większej.
4000=0,4000×104 0,0010=0,1000×10−2
0,4000×104
0,0000001×104
0,4000001×104 =0,4000×10 4
f ( x)=x (√ x+1−√ x ) x={5,500,5000 }.
f (5)=5⋅(√6−√5)=0,5000×101⋅(0,2449×101−0,2236×101)=0,5000×101⋅0,0213×101=0,1067×101f d ( x)
f d (5)=1,067108826417 bł.bezwzgl.= f d (5)− f (5 )=0,000108826417 bł.wzgl.=f d (5)− f (5)
f d (5)⋅100%=0,01 %
f (500)=500⋅(√501−√500 )=0,5000×103⋅(0, 2238×102−0,2236×102)=0,1000×102
f d (500)=11,174755300747 bł.bezwzgl.= f d (500 )− f (500 )=1,174755300747 bł.wzgl.=bł.bezwzgl.
f d (500)⋅100%=10,52%
f (5000)=5000⋅(√5001−√5000)=0,5000×10 4⋅(0,7071×102−0,7071×102)=0f d (5000)=35,353571469088 bł.bezwzgl.= f d (5000)− f (5000)=35,353571469088 bł.wzgl.=
bł.bezwzgl.f d (5000)
⋅100%=100%
Błędy zaokrągleń (c.d. 5.)
Problemy występujące podczas obliczeń zmiennoprzecinkowych (c.d.):
3. Gdy wykonywane są długotrwałe obliczenia iteracyjne (np. długie pętle for) błędy związane z binarną reprezentacją liczb dziesiętnych oraz błędy zasygnalizowane w poprzednich punktach kumulują się, prowadząc do dużych błędów rozwiązań końcowych lub niestabilności algorytmów.
Np. wykonując poniższy podprogram nie uzyskamy wartości , gdyż stała nie posiada skończonego rozwinięcia w systemie binarnym i w obliczeniach będzie wykorzystywane jej przybliżenie z niedomiarem:
Przykładowy wynik działania funkcji
Algorytm nazywamy stabilnym jeśli błąd względny wyniku niewiele różni się od błędu względnego danych. W przeciwnym przypadku tzn. gdy
algorytym nazywamy niestabilnym.
s=1
Błąd wzgledny (wyniki )≫Błąd wzgledny (dane )
SumDemo ()1 s :=02 k :=03 repeat4 s :=s+0.00015 k :=k+16 until (k
Błędy zaokrągleń (c.d. 6)
Problemy występujące podczas obliczeń zmiennoprzecinkowych (c.d.):
Przykład algorytmu niestabilnego: obliczanie , dla zadanego rzeczywistego oraz naturalnego
Jeśli podstawa potęgi obarczona jest błędem to:
Zaniedbując w liczniku ostatniego wyrażenia składniki zawierające bardzo mały czynnik , otrzymujemy: Można zauważyć, że bł.wzgl.y jest - krotnie większy od błędu względnego podstawy potegowania oraz że rośnie on wraz ze wzrostem wykładnika potęgi .
n .
Power (n , a)1 y :=1.02 for k :=1.0 to n3 do y :=y⋅a bł.wzgl.a = |a−(a+ε )|
|a|= ε
a
ε k dla k≥2
y=ana>0
εa
bł.wzgl. y = |an−(a+ε )n||an|
=|a n−(an+(n1)an−1ε +(n2)a n−2ε 2+…+ε n)|
|a n|
bł.wzgl. y =|an−(a n+(n1)an−1ε)|
|an|= n⋅ε
an
na
Błędy Zaokrągleń (c.d. 7.)
Liczby zmiennoprzecinkowe 32 bitowe typu float
S - znak liczby, 31 bit, '0' liczba dodatnia, '1' liczba ujemna
C - cecha (exponent), bity 23 - 30, liczba ZU2 równa wykładnikowi potęgi k powiększonemu o wartość 127
M - mantysa, bity 0 - 22, liczba postaci 1.xxxx...., gdzie xxxx.... pozostałe bity mantysy. Mantysę zapisuje się z pominięciem pierwszej "jedynki" (przed kropką): .xxxx......
Przykład:
Liczba (13.75)D = (1101.11)B = (1.10111 )B x 23
S = 0,
C = 3+127 = 130 = 10000010
M = 10111000000000000000000
(13.75)D = (01000001010111000000000000000000)float MantysaCecha
Znak
Błędy Zaokrągleń (c.d. 8.)
2. Wyznaczanie rzeczywistych i jednokrotnych pierwiastków równań nieliniowych
Niech będzie funkcją rzeczywistą zmiennej rzeczywistej
Pierwiastkiem (zerem) równania lub (lub pierwiastkiem (zerem) funkcji
nazywamy każdą wartość zmiennej niezależnej , dla której
.
Zagadnienie przybliżonego obliczania pierwiastków (2.1):
Dla zadanej dokładności należy znaleźć takie , dla którego zachodzi
nierówność
x̄
f x =0
∣x−x∣
xε
y= f (x)
y= f (x) x .f (x)=0
x
Zagadnienie przybliżonego obliczania pierwiastków (2.1)
Przybliżoną wartość pierwiastka funkcji wyznacza się w dwóch etapach:
1) Lokalizuje się pierwiastki równania tj.
a) znajduje się liczbę p pierwiastków równania, b) dla każdego pierwiastaka znajduje się taki przedział , że
oraz dla
2) Uściśla się przybliżoną wartość pierwiastka, tj. dla zadanego i zadanej
dokładności znajduje się wartość , że dla .
x i
∣x i−x i∣
x i∈[ ai ; bi ]
x i
x i
[ai ;bi ]
[ai ;bi ]∩[a j ;b j ]=0 i , j=1,2, ... , p ; i≠ j .
i=1, 2,... , p
Zagadnienie przybliżonego obliczania pierwiastków (2.3)
Lokalizacja pierwiastków:
Przykład: Zlokalizować rzeczywiste pierwiastki funkcji
Rozwiązanie: po przyrównaniu funkcji do zera,
otrzymuje się równanie:
które przekształca się do postaci:
Otrzymana zależność wyraża równość dwóch funkcji:
oraz
Zaganienie to można rozwiązać graficznie,
odczytując odcięte punktow przecięcia się
obydwu wykresów - metoda zgrubna rozwiązywania równań.
Wykres pozwala również oszacować liczbę pierwiasków (w tym przypadku p=2)
oraz przedziały ich występowania:
f (x )=log(x+ 2)−2 x2+ 1.
log x2−2x21=0,
log x2=2x2−1.
y=log x2 y=2x2−1.
x1∈[−0,8 ;−0,7] , x2∈[1,0 ;1,1] .
wg [1 ]
Zagadnienie przybliżonego obliczania pierwiastków (2.4)
Lokalizacja pierwiastków — metoda ,,przesiewowa'':
Tabela 1: Przykładowa
symulacja
Zagadnienie przybliżonego obliczania pierwiastków (2.5)
Metoda bisekcji (metoda połowienia przedziału) (2.5.1):
Zakłada się, że w przedziale został zlokalizowany jednokrotny,
rzeczywisty pierwiastek funkcji przy czym
Prawdziwe jest zatem:
W kolejnych krokach algorytmu wyznacza się zmienną
i modyfikuje przedział zgodnie z zależnością:
- jeśli to
- w przeciwnym przypadku
Obliczenia są przerywane, gdy różnica pomiędzy krańcami przedziału zmaleje
poniżej przyjętej wartości tj.
[a0 ;b0]
y= f x ,
f a0 f b00.
f x ∈C [a0 ;b0].
[ak1 ;bk1]k=0,1, 2, ...
∣a k−bk∣ .
f a k f ck 0 ak1=a k , bk1=ck ,ak1=ck , bk1=bk ,
ck=akbk /2
Zagadnienie przybliżonego obliczania pierwiastków (2.5)
Metoda bisekcji (2.5.2): Pseudokod programu:
1 k :=02 a0 :=a3 b0 :=b4 while|bk−a k|≥ε5 do begin
6 c k :=a k+b k
27 if f (a k ) f (c k )≤08 then begin9 a k +1 :=ak10 b k +1:=c k11 end12 else begin13 a k +1 :=ck14 b k +1:=bk15 end16 k :=k+117 end
18 ~x :=a k+bk
2
Zagadnienie przybliżonego obliczania pierwiastków (2.5)
Metoda bisekcji (2.5.3):
Przykład : Wyznaczyć metodą bisekcji ujemny pierwiastek ( )
funkcji z dokładnością
Tabela 2: Etapy wyzna-
czania rozwiązania
f x =log x2−2 x21 =10−5 .x1∈[−0,8 ;−0,7]
Zagadnienie przybliżonego obliczania pierwiastków (2.6)
Metoda stycznych (metoda Newtona-Raphsona (N-R)) (2.6.1):
Zakłada się, że w przedziale został zlokalizowany jednokrotny,
rzeczywisty pierwiastek funkcji zatem:
Założenia metody N-R:
-
- dla każdego albo albo ( nie zmienia
znaku na przedziale
- dla każdego albo albo ( nie zmienia
znaku na przedziale
[a0 ;b0]
y= f x , f a0 f b00.
f x ∈C [a0 ;b0] ,
x∈[a0 ;b0] f ' x0 f ' x0 f ' x[a0 ;b0] ,
x∈[a0 ;b0] f ' ' x0 f ' ' x0 f ' ' x
[a0 ;b0] .
Zagadnienie przybliżonego obliczania pierwiastków (2.6)
Metoda stycznych (2.6.2):
Algorytm postępowania
1. Jako punkt startowy wybiera się ten kraniec przedziału , (tzn. albo
albo ), który spełnia warunek
2. Wyznacza się parametr:
3. while
4. do begin
5.
6.
7. end
8.
Wygenerowany ciąg wartości nosi nazwę procesu Newtona-
Raphsona (procesu N-R).
[a0 ;b0]
m=min {∣ f ' a0∣;∣ f ' b0∣}
f x0 f ' ' x00
∣ f x k ∣m
xk 1:=x k−f xk f ' xk
x0x0=a0 x0=b0
k :=k1
xk := xkxk , k=0,1,2, ...
Zagadnienie przybliżonego obliczania pierwiastków (2.6)
Metoda stycznych (2.6.3):
Własności procesu N-R (Twierdzenie)
Jeśli funkcja spełnia założenia metody N-R to proces N-R ma własności:
1.
(proces jest zbieżny do pierwiastka funkcji leżącego w
przedziale ).
2. Ciąg jest ściśle monotoniczny, tzn. albo
albo
3. -ty wyraz procesu spełnia nierówność
gdzie
y= f x
limk ∞
xk=x
x0 x1 xkx
xk , k=0,1,2, ...
y= f x
[a0 ;b0]
x0 x1 xkx .
k ∣x−xk∣∣ f x k∣
mm=min {∣ f ' a0∣;∣ f ' b0∣}.
Zagadnienie przybliżonego obliczania pierwiastków (2.6)
Metoda stycznych (2.6.4):
Konstrukcja ciągu kolejnych
przybliżeń:
tg= f ' x0=f x0
x0− x1
f(x0)
x1= x0−f x0f ' x0
wg [3 ]
Zagadnienie przybliżonego obliczania pierwiastków (2.6)
Metoda stycznych (2.6.5):
Przykład : Wyznaczyć metodą stycznych ujemny pierwiastek ( )
funkcji z dokładnością
Rozwiązanie: na początku należy wykazać, że w badanym przedziale funkcja
spełnia założenia metody N-R.
— Dla funkcja jest ciągła i ma ciągłe pochodne wszystkich rzędów
— W przedziale spełniona jest nierówność
Wniosek — w przedziale funkcja spełnia założenia metody N-R.
Można stosować metodę stycznych.
x1∈[−0,8 ;−0,7]
f (x)=log(x+ 2)−2 x2+ 1 =10−5 .
f ' ' (x)=− 1(x+ 2)2
−4< 0 dla x>−2 .
f ' (x )= 1x+ 2
−4x=−4x2−8x+ 1x+ 2 {> 0 dla −2< x< √52 −1≃0.118< 0 dla x > √5
2−1≃0.118
x>−2
[−0,8 ;−0,7] f ' (x )> 0.
[−0,8 ;−0,7]
Zagadnienie przybliżonego obliczania pierwiastków (2.6)
Metoda stycznych (2.6.6):
Rozwiązanie (cd): następnym etapem jest wyznaczenie wartości początkowej
oraz . Z tabeli 1 można odczytać wartości funkcji dla obydwu końców przedziału:
Ponieważ przyjmuje się że . Następnie
oblicza się :
Wartości uzyskiwane w kolejnych iteracjach metody zawiera tabela 3.
Tabela 3.
x0m
f (−0,8) f ' ' (−0,8)> 0 x0=−0,8
m
f (−0,8)=−0,09768< 0, f (−0,7)=+ 0.28286> 0 .
m=min{∣ 1−0,8+ 2−4(−0,8)∣;∣ 1−0,7+ 2 −4(−0,7)∣}=min {4,033 ;3,569}≃3,569 .
Zagadnienie przybliżonego obliczania pierwiastków (2.7)
Metoda iteracji prostej (2.7.1):
Zakłada się, że w przedziale został zlokalizowany jednokrotny,
rzeczywisty pierwiastek funkcji zatem:
Metoda iteracji prostej składa sie z dwóch etapów:
1. Równanie
przekształca się do równoważnej postaci
(takie przekształcenie jest zawsze wykonalne i zazwyczaj istnieje kilka jego
wariantów).
2. Wybiera się z przedziału przybliżenie . Kolejne iteracje oblicza się
ze wzoru: dla
y= f x , f a0 f b00.
f x =0
x=φ (x)
[a0 ;b0]
[a0 ;b0]
x0xk+ 1=φ (xk ) k=0,1,
Zagadnienie przybliżonego obliczania pierwiastków (2.7)
Metoda iteracji prostej (2.7.2):
Twierdzenie: Niech funkcja będzie określona, ciągła i różniczkowalna w
przedziale domkniętym dla każdego oraz dla każdego
Jeśli nierówność
zachodzi dla każdego , to:
1) proces jest zbieżny niezależnie od wyboru , oraz
2) zachodzą nierówności
y=φ (x)
[a;b] φ (x)ϵ C [a ;b]
xϵ [a; b].
∣φ ' (x)∣⩽q< 1
xϵ [a; b]
x0ϵ [a ; b] limk →∞
xk= x̄∈[a ;b] ,
∣̄x− xk∣⩽q
1−q∣xk− xk −1∣⩽qk
1−q∣x1−x0∣ dla k=1,2 , ....
Zagadnienie przybliżonego obliczania pierwiastków (2.7)
Metoda iteracji prostej (2.7.3):
Algorytm postępowania
1. Równanie pierwotne przekształca się do postaci równoważnej , ktora
spełnia założenia Twierdzenia.
2. Jako punkt startowy wybiera się dowolny np.
3.
4. repeat
5.
6.
7. until
8.
x=x
x0 x0∈[a0; b0] x0=a0b0/2.
k :=0
k :=k1
xk=xk−1
q1−q
∣xk− xk−1∣
x :=xk
Zagadnienie przybliżonego obliczania pierwiastków (2.7)
Metoda iteracji prostej (2.7.4):
Przykład: Obliczyć metodą iteracji prostej ujemny pierwiastek funkcji
z dokladnością
Rozwiazanie: ujemny pierwiastek funkcji leży w przedziale
a dodatni w przedziale . Najpierw przekształcamy równanie
do równoważnej postaci, spełniającej założenia twierdzenia. Przykładowo równanie
można przekształcić w sposób:
Dla tego przedstawienia mamy
f (x)=ln(x+ 2)−2x2+ 1ϵ=10−5 .
[−0,8 ;−0,7]
[1,0 ;1,1]
ln( x+ 2)−2x2+ 1=0
x=e2x2−1−2=φ 0(x).
∣φ ' 0( x)∣=∣4 x e2x2−1∣=4∣ x∣e2x
2−1 .
Zagadnienie przybliżonego obliczania pierwiastków (2.7)
Metoda iteracji prostej (2.7.5): Rozwiązanie (cd)
Funkcja ta jest:
a) w przedziale monotonicznie malejąca, stad dla
b) w przedziale monotonicznie rosnąca, zatem dla
W obydwu przedziałach spełniony jest warunek stąd proces
utworzony przez odwzorowanie
jest rozbieżny.
xϵ [−0,8 ;−0,7][−0,8 ;−0,7]
∣φ ' 0(x)∣⩾∣φ ' 0(−0,7)∣=2,74456 ;
∣φ ' 0(x)∣⩾∣φ ' 0(1,0)∣=10,87313.
xϵ [1,0 ;1,1][1,0 ;1,1]
∣φ ' 0(x)∣> 1 ,
xk=φ 0(xk−1) , k=1,2 ,....
Zagadnienie przybliżonego obliczania pierwiastków (2.7)
Metoda iteracji prostej (2.7.6): Rozwiązanie (cd)
Równanie może być przedstawione w równoważnej
postaci jako para równań:
Dla obydwu funkcji moduł pochodnej jest równy
Dla funkcja jest monotonicznie malejąca, stąd
x=−√ ln (x+ 2)+ 12 =φ 1(x ) , x=√ ln (x+ 2)+ 12 =φ 2(x) .ln( x+ 2)−2x2+ 1=0
∣φ ' 1,2(x)∣=∣ 1√2⋅12⋅ 1√ ln(x+ 2)+ 1⋅ 1x+ 2∣=√24 ⋅ 1√ ln(x+ 2)+ 1⋅ 1x+ 2 .x⩾−1 y=∣φ ' 1,2(x )∣
∣φ ' 1,2(x)∣⩽∣φ ' 1,2(−1.0)∣=√24=0.35355< 1.
Zagadnienie przybliżonego obliczania pierwiastków (2.7)
Metoda iteracji prostej (2.7.7): Rozwiązanie (cd)
W związku z tym, w procesie iteracyjnym zostaną użyte funkcje:
a)
dla wyznaczenia przybliżonej wartości pierwiastka z przedzialu
b)
dla wyznaczenia przybliżonej wartości pierwiastka z przedzialu .
Za q przyjęto:
dla pierwiastka z przedzialu
dla pierwiastka z przedzialu .
φ 1( x)=−√ ln ( x+ 2)+ 12[−0,8 ;−0,7] ,
φ 2(x)=√ ln(x+ 2)+ 12[1,0 ;1,1]
max−0.8⩽x⩽−0.7
∣φ 1 ' (x)=0.27096∣
max1.0⩽ x⩽1.1
∣φ 2 ' (x )=0.08135∣
[−0,8 ;−0,7] ,
[1,0 ;1,1]
Zagadnienie przybliżonego obliczania pierwiastków (2.7)
Metoda iteracji prostej (2.7.8): Rozwiązanie (cd)
Wartości uzyskane w kolejnych iteracjach metody iteracji prostej podano w
tabeli 4.
Tabela 4.
k
Slajd 1Slajd 2Slajd 3Slajd 4Slajd 5Slajd 6Slajd 7Slajd 8Slajd 9Slajd 10Slajd 11Slajd 12Slajd 13Slajd 14Slajd 15Slajd 16Slajd 17Slajd 18Slajd 19Slajd 20Slajd 21Slajd 22Slajd 23Slajd 24Slajd 25Slajd 26Slajd 27Slajd 28Slajd 29Slajd 30Slajd 31Slajd 32Slajd 33Slajd 34Slajd 35Slajd 36Slajd 37Slajd 38Slajd 39Slajd 40Slajd 41Slajd 42Slajd 43Slajd 44