Algorytmy obliczeniowe

Podobne dokumenty
Algorytmy obliczeniowe

Metody numeryczne Technika obliczeniowa i symulacyjna Sem. 2, EiT, 2014/2015

1 Metody rozwiązywania równań nieliniowych. Postawienie problemu

BŁĘDY OBLICZEŃ NUMERYCZNYCH

Metody numeryczne I Równania nieliniowe

Rozwiązywanie równań nieliniowych

Wprowadzenie Metoda bisekcji Metoda regula falsi Metoda siecznych Metoda stycznych RÓWNANIA NIELINIOWE

METODY ROZWIĄZYWANIA RÓWNAŃ NIELINIOWYCH

1 Równania nieliniowe

ROZWIĄZYWANIE RÓWNAŃ NIELINIOWYCH

Metody rozwiązywania równań nieliniowych

Zał nr 4 do ZW. Dla grupy kursów zaznaczyć kurs końcowy. Liczba punktów ECTS charakterze praktycznym (P)

dr inż. Damian Słota Gliwice r. Instytut Matematyki Politechnika Śląska

3. Interpolacja. Interpolacja w sensie Lagrange'a (3.1) Dana jest funkcja y= f x określona i ciągła w przedziale [a ;b], która

Metody numeryczne. Janusz Szwabiński. nm_slides.tex Metody numeryczne Janusz Szwabiński 2/10/ :02 p.

Iteracyjne rozwiązywanie równań

Metody numeryczne I. Janusz Szwabiński. Metody numeryczne I (C) 2004 Janusz Szwabiński p.1/61

Metody numeryczne Numerical methods. Elektrotechnika I stopień (I stopień / II stopień) Ogólnoakademicki (ogólno akademicki / praktyczny)

Bardzo łatwa lista powtórkowa

METODY NUMERYCZNE. Wykład 4. Numeryczne rozwiązywanie równań nieliniowych z jedną niewiadomą. prof. dr hab.inż. Katarzyna Zakrzewska

Egzamin z Metod Numerycznych ZSI, Egzamin, Gr. A

x y

Met Me ody numer yczne Wykład ykład Dr inż. Mic hał ha Łan Łan zon Instyt Ins ut Elektr Elektr echn iki echn i Elektrot Elektr echn olo echn

Wybrane metody przybliżonego. wyznaczania rozwiązań (pierwiastków) równań nieliniowych

Kubatury Gaussa (całka podwójna po trójkącie)

Laboratorium 5 Przybliżone metody rozwiązywania równań nieliniowych

Elementy metod numerycznych

Wstęp do metod numerycznych Rozwiazywanie równań algebraicznych. P. F. Góra

Matematyka stosowana i metody numeryczne

Wielkości liczbowe. Wykład z Podstaw Informatyki dla I roku BO. Piotr Mika

Metody numeryczne Wykład 7

Wprowadzenie do metod numerycznych. Krzysztof Patan

INFORMATYKA ELEMENTY METOD NUMERYCZNYCH.

Metody numeryczne Numerical methods. Elektrotechnika I stopień (I stopień / II stopień) Ogólnoakademicki (ogólno akademicki / praktyczny)

Wielkości liczbowe. Wykład z Podstaw Informatyki. Piotr Mika

Metody numeryczne. materiały do wykładu dla studentów

METODY NUMERYCZNE. Wykład 4. Numeryczne rozwiązywanie równań nieliniowych z jedną niewiadomą. Rozwiązywanie równań nieliniowych z jedną niewiadomą

Systemy liczbowe. 1. Przedstawić w postaci sumy wag poszczególnych cyfr liczbę rzeczywistą R = (10).

automatyka i robotyka II stopień (I stopień / II stopień) ogólnoakademicki (ogólno akademicki / praktyczny)

Metody Numeryczne w Budowie Samolotów/Śmigłowców Wykład I

Liczby zmiennoprzecinkowe i błędy

Liczby rzeczywiste są reprezentowane w komputerze przez liczby zmiennopozycyjne. Liczbę k można przedstawid w postaci:

RÓWNANIA NIELINIOWE Maciej Patan

Interpolacja. Marcin Orchel. Drugi przypadek szczególny to interpolacja trygonometryczna

Matematyka i Statystyka w Finansach. Rachunek Różniczkowy

5. Rozwiązywanie układów równań liniowych

Metody iteracyjne rozwiązywania układów równań liniowych (5.3) Normy wektorów i macierzy (5.3.1) Niech. x i. i =1

REPREZENTACJA LICZBY, BŁĘDY, ALGORYTMY W OBLICZENIACH

Całkowanie numeryczne

Funkcja kwadratowa. f(x) = ax 2 + bx + c,

REPREZENTACJA LICZBY, BŁĘDY, ALGORYTMY W OBLICZENIACH

Optymalizacja ciągła

METODY NUMERYCZNE. Po co wprowadzamy liczby w formacie zmiennoprzecinkowym (floating point)?

Zadania z analizy matematycznej - sem. I Pochodne funkcji, przebieg zmienności funkcji

Zagadnienia - równania nieliniowe

Technologie Informacyjne Wykład 4

Całkowanie numeryczne przy użyciu kwadratur

VIII. Zastosowanie rachunku różniczkowego do badania funkcji. 1. Twierdzenia o wartości średniej. Monotoniczność funkcji.

ELEMENTY ANALIZY NUMERYCZNEJ ELEMENTY ANALIZY NUMERYCZNEJ. Egzamin pisemny zestaw 1 24 czerwca 2019 roku

Egzamin z Metod Numerycznych ZSI, Grupa: A

Politechnika Gdańska Wydział Elektrotechniki i Automatyki Katedra Inżynierii Systemów Sterowania. Technologie informatyczne

BŁĘDY PRZETWARZANIA NUMERYCZNEGO

METODY NUMERYCZNE. Wykład 3. Plan. Aproksymacja Interpolacja wielomianowa Przykłady. dr hab.inż. Katarzyna Zakrzewska, prof.agh. Met.Numer.

Obliczenia Naukowe. Wykład 12: Zagadnienia na egzamin. Bartek Wilczyński

Analiza numeryczna kolokwium2a-15grudnia2005

Technikum Nr 2 im. gen. Mieczysława Smorawińskiego w Zespole Szkół Ekonomicznych w Kaliszu

Zwięzły kurs analizy numerycznej

Funkcja kwadratowa. f(x) = ax 2 + bx + c = a

W wielu obliczeniach w matematyce bądź fizyce wykonanie niektórych kroków zależy od spełnienia warunku.

ARYTMETYKA BINARNA. Dziesiątkowy system pozycyjny nie jest jedynym sposobem kodowania liczb z jakim mamy na co dzień do czynienia.

Podstawy Informatyki

ELEMENTY ANALIZY NUMERYCZNEJ ELEMENTY ANALIZY NUMERYCZNEJ. Egzamin pisemny zestaw 1 26 czerwca 2017 roku

Wstęp do programowania. Reprezentacje liczb. Liczby naturalne, całkowite i rzeczywiste w układzie binarnym

Ciągi liczbowe wykład 3

UKŁADY ALGEBRAICZNYCH RÓWNAŃ LINIOWYCH

Metody numeryczne w przykładach

UKŁADY ALGEBRAICZNYCH RÓWNAŃ LINIOWYCH

Zajęcia nr 1 (1h) Dwumian Newtona. Indukcja. Zajęcia nr 2 i 3 (4h) Trygonometria

Rozwiązywanie równań nieliniowych i ich układów. Wyznaczanie zer wielomianów.

Metody numeryczne. Równania nieliniowe. Janusz Szwabiński.

1 Pochodne wyższych rzędów

MATEMATYKA WYKAZ UMIEJĘTNOŚCI WYMAGANYCH NA POSZCZEGÓLNE OCENY DLA KLASY PIERWSZEJ

Metody numeryczne Numerical methods. Energetyka I stopień (I stopień / II stopień) Ogólnoakademicki (ogólnoakademicki / praktyczny)

Klasa 1 technikum. Poniżej przedstawiony został podział wymagań na poszczególne oceny szkolne:

Wymagania edukacyjne na poszczególne oceny branżowa szkoła I stopnia klasa 1 po gimnazjum

Matematyka wykaz umiejętności wymaganych na poszczególne oceny

Logarytmy. Funkcje logarytmiczna i wykładnicza. Równania i nierówności wykładnicze i logarytmiczne.

2. ZASTOSOWANIA POCHODNYCH. (a) f(x) = ln 3 x ln x, (b) f(x) = e2x x 2 2.

Luty 2001 Algorytmy (7) 2000/2001

Metoda znak-moduł (ZM)

Metody Numeryczne. Wojciech Szewczuk

ROZKŁAD MATERIAŁU DO II KLASY LICEUM (ZAKRES ROZSZERZONY) A WYMAGANIA PODSTAWY PROGRAMOWEJ.

Pochodna i różniczka funkcji oraz jej zastosowanie do rachunku błędów pomiarowych

Metody numeryczne. materiały do wykładu dla studentów. 7. Całkowanie numeryczne

METODY NUMERYCZNE. Wykład 2. Analiza błędów w metodach numerycznych. Met.Numer. wykład 2 1

Teoretyczne Podstawy Informatyki

Wymagania edukacyjne z matematyki

Obliczenia naukowe Wykład nr 2

Projekt Era inżyniera pewna lokata na przyszłość jest współfinansowany przez Unię Europejską w ramach Europejskiego Funduszu Społecznego

DEFINICJA. E-podręcznik pod redakcją: Vsevolod Vladimirov Autor: Tomasz Zabawa

Transkrypt:

PG WETiI Katedra Systemów Automatyki Algorytmy obliczeniowe Dr inż. Krzysztof Cisowski Tel: 583471274, email: krci@eti.pg.gda.pl 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) = N 0 e kt, gdzie N 0, k są stałymi (N 0 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) x 1 =6, x 2 =12, x 3 =60 x' 1 = -1377,777778, x' 2 =7217,460317, x' 3 = -6663,492063 a 13 = a 22 = a 31 = 1/3 a' 13 = a' 22 = a' 31 = 0,33

Błędy danych (c.d.) (a i j ) = a' i j - a i j / a i j, i, j = 1, 2, 3 (x i ) = x' i - x i / x i, i = 1, 2, 3 (a 13 )= (a 22 )= (a 31 )= 0.33-1/3 / 1/3 100 %= 99/300-100/300 300% = 1% (x 1 )=23063%, (x 2 )=60045%, (x 3 )=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 x 2 60045% cond( x 2 ) 1% => cond( x 2 ) = 60045. Powyższe zadanie jest źle uwarunkowane, wskaźnik cond( x 2 ) 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 y= f (x): y R, x a, b R x i a, b. w danym punkcie Wybierając w przedziale punkt, wartość pierwszej pochodnej funkcji f ( x) w punkcie x i f ' (x i )= d f ( x) d x x= x i = lim ( x i+1 x i ) 0 wyznaczymy obliczając granicę Jeśli pominiemy operator granicy i wybierzemy małą wartość odstępu x i +1 x i otrzymamy aproksymację wartości pierwszej pochodnej w punkcie x wg[2 ] i za pomocą ilorazu różnicowego a, b x i +1 f (x i +1 ) f ( x i ) x i+ 1 x i. f ' (x i ) f ( x i +1 ) f ( x i ) x i+1 x i.

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 (n+1) - krotnie różniczkowalnej w przedziale w sposób ciągły. Szereg Taylora: przyjmując oraz można zapisać gdzie n (m < n) y= f (x): y R, x a, b R, a,b x i, x i+ 1 a,b h= x i +1 x i f ( x i +1 )= f (x i )+ f ' (x i ) h+ f ' ' (x i) h 2 + f (3) (x i ) h 3 + + f (n) (x i ) h n + R 2! 3! n! n, R n = f (n+1 ) (ξ ) to reszta w postaci Lagrange`a. (n+1)! hn+ 1 =O(h n+1 ) ξ x i, x i +1 f ( x i )=a 0 ( x i ) f (k) (x i )/[(k +1)!]=a k ( x i ) Oznaczając oraz otrzymujemy: f ( x i +1 )=a 0 (x i )+a 1 ( x i ) h +a 2 (x i ) h 2 +a 3 (x i ) h 3 + +a n ( x i ) h n +R n h (n +1) R n =O (h n +1 ) Jest to wielomian względem zmiennej rzedu, gdyż. x i =0 h= x i +1 =x Jeśli (stąd ) szereg Taylora staje się szeregiem Maclaurina: f ( x)=a 0 (0)+a 1 (0) x+a 2 (0) x 2 +a 3 (0) x 3 + +a n (0) x n +R n m

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ć f ( x i +1 )= f (x i )+R 0 = f ( x i )+ f ' (ξ ) h ξ f ' (ξ ) Wartość należy dobrać tak, aby równa tangensowi kąta nachylenia prostej przechodzącej przez pkty. oraz wynosiła Aproksymacja funkcji Wykorzystując aproksymacji funkcji - tego rzędu. Aproks. rz. : Aproks. rz. : Aproks. rz. : m (m<n) m m=0 m=1 ξ (x i, f (x i )) f ( x) (x i +1, f ( x i+1 )) f ' (ξ )= R 0 h pierwszych wyrazów szeregu Taylora dokonujemy f ( x i +1 ) f (x i ) f ( x i +1 ) f (x i )+ f ' (x i ) h m=2 f ( x i +1 ) f (x i )+ f ' (x i ) h+ f ' ' (x i) h 2 2! wg[2 ] wg[2 ]

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 y=sin (x) xϵ <0, 2 π >, m pierwszych wyrazów. Rozwinięcie funkcji f ( x)=sin( x) w nieskończony szereg potęgowy Maclaurina: f ( x)=sin (x)= ( 1) k x 2 k+1 x3 = x k= 0 (2 k +1)! 3! + x5 5! x7 7! + Rozwinięcie skończone (suma skończona) obraniczone do szeregu ma postać: m pierwszych wyrazów m f m ( x)= k =0 ( 1) k x 2 k +1 x3 =x (2 k +1)! 3! + x5 5! x7 x 2 m+1 7! + +( 1)m (2 m+1)!

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 : m 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 nierówniość: f (x) f m (x) = ( 1) k x 2 k+ 1 k =m+1 (2 k +1)! ε k =0 a k k=0 m a k k =0 a k = k= m+1 prawdziwa jest Własność powyższą można wykorzystać jako kryterium zakończenia algorytmu y=sin ( x) a k < a m+1 obliczania wartości funkcji z zadaną dokładnością : f (x) f m (x) = ( 1) k x 2 k+ 1 k =m+1 (2k +1)! < x (2m+3)! ε m ε ε

Błędy metody (błędy odcięcia) [c.d. 6.] Fragment programu zapisany w pseudokodzie służący do obliczania wartości funkcji y=sin ( x) w przedziale xϵ <0, 2 π >, z zadaną dokładnością ε :

Błędy zaokrągleń Błędy zaokrągleń wynikają z faktu wykonywania obliczeń na liczbach o skończonym rozwinięciu pozycyjnym. n +2 1 n +1 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)

Błędy zaokrągleń (c.d. 1.) Na n+2 bitach można zapisywać liczby całkowite z przedziału [-2 n+1 +1; 2 n+1-1] Liczby stałoprzecinkowe są podzbiorem liczb całkowitych. Liczby całkowite o wartości bezwzględnej p > 2 n+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 m t, zapisanej na t bitach oraz cechy (exponent) c n zapisanej w formacie stałoprzecinkowym na n+2 bitach (s c oznacza znak cechy ''1'' potęgi dodatnie, ''0'' potęgi ujemne). Wagi: Bity: 2 1 2 2 2 t 2 n 2 2 2 1 2 0 s b 1 b 2 b t s c b n b 2 b 1 b 0 Znak Liczby mantysa m t cecha c n Reprezentacja zmiennoprzecinkowa liczby x oznaczana rd(x) jest liczbą: rd x =s m t 2 c n, a samą liczbę x wyraża zależność x=s m 2 c n, gdzie: s = 1 albo s = -1 - znak liczby, t m t =1+ b k 2 k - mantysa znormalizowana ( 1 m t <2 ), k =1 n m - mantysa liczby x, c n =s c b k 2 k = 1 + b k 2 k - cecha. k=1 Błąd względny reprezentacji zmiennoprzecinkowej można oszacować w oparciu o zależność: x rd x. Liczba =2 t określa dokładność komputera, x 2 t zależy ona tylko od t - liczby bitów mantysy. k =0

Błędy zaokrągleń (c.d. 3.) Zakresy zmienności: mantysy - 1 m t 2 2 t cechy - 2 n +1 +1 c n 2 n +1 1 reprezentacji zmiennoprzecinkowej rd (x)- 2 2 2n+1 rd (x) <2 2 n+1 Liczby x <2 2 2n+1 w tym 0, 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 x 2 2 n+1 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)

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 f ( x)=x( x+1 x) dla x={5,500,5000 }. Porównać uzyskane wyniki z wartościami dokładnymi f d ( x). f (5)=5 ( 6 5)=0,5000 10 1 ( 0,2449 10 1 0,2236 10 1 )=0,5000 10 1 0,0213 10 1 =0,1067 10 1 f d (5)=1,067108826417 bł.bezwzgl.= f d (5) f (5 )=0,000108826417 bł.wzgl.= f d(5) f (5) 100%=0,01 % f d (5) f (500)=500 ( 501 500)=0,5000 10 3 (0, 2238 10 2 0,2236 10 2 )=0,1000 10 2 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 10 2 0,7071 10 2 )=0 f d (5000)=35,353571469088 bł.bezwzgl.= f d (5000) f (5000)=35,353571469088 bł.wzgl.= bł.bezwzgl. f d (5000) 100%=100% 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 4000=0,4000 10 4 i 0,0010=0,1000 10 2 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. 0,4000 10 4 0,0000001 10 4 0,4000001 10 4 =0,4000 10 4

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 s=1, gdyż stała (0,0001) 10 nie posiada skończonego rozwinięcia w systemie binarnym i w obliczeniach będzie wykorzystywane jej przybliżenie z niedomiarem: SumDemo() 1 s :=0 2 k :=0 3 repeat 4 s :=s+0.0001 5 k :=k +1 6 until(k <10000 ) Przykładowy wynik działania funkcji s=0,99999999999991 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 Błąd wzgledny (wyniki ) Błąd wzgledny (dane) algorytym nazywamy niestabilnym. SumDemo()

Błędy zaokrągleń (c.d. 6) Problemy występujące podczas obliczeń zmiennoprzecinkowych (c.d.): Przykład algorytmu niestabilnego: obliczanie a >0 oraz naturalnego n. Power (n, a) 1 y :=1.0 2 for k :=1.0 to n 3 do y :=y a Jeśli podstawa potęgi a obarczona jest błędem to: y=a n, dla zadanego rzeczywistego bł.wzgl. y = an (a+ε ) n = a a n a n Zaniedbując w liczniku ostatniego wyrażenia składniki zawierające bardzo mały czynnik ε k dla k 2, otrzymujemy: Można zauważyć, że bł.wzgl.y jest n - krotnie większy od błędu względnego podstawy potegowania a oraz że rośnie on wraz ze wzrostem wykładnika potęgi n. ε n ( an + ( n 1) an 1 ε + ( n bł.wzgl.a = 2) a n 2 ε 2 + +ε n) n ( bł.wzgl. y = a a n + ( n 1) an 1 a n a (a+ε ) a ε ) = ε a = n ε a

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 2 3 S = 0, C = 3+127 = 130 = 10000010 M = 10111000000000000000000 (13.75) D = (01000001010111000000000000000000) float Cecha Mantysa Znak

Błędy Zaokrągleń (c.d. 8.)

2. Wyznaczanie rzeczywistych i jednokrotnych pierwiastków równań nieliniowych Niech y= f (x) będzie funkcją rzeczywistą zmiennej rzeczywistej x. Pierwiastkiem (zerem) równania f (x)=0 lub (lub pierwiastkiem (zerem) funkcji y= f (x) nazywamy każdą wartość x zmiennej niezależnej x, dla której f x =0. Zagadnienie przybliżonego obliczania pierwiastków (2.1): Dla zadanej dokładności ε należy znaleźć takie x, dla którego zachodzi nierówność x 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 x i znajduje się taki przedział [a i ;b i ], że x i [ a i ; b i ] oraz [a i ;b i ] [a j ;b j ]=0 dla i, j=1,2,..., p ;i j. 2) Uściśla się przybliżoną wartość pierwiastka, tj. dla zadanego x i i zadanej dokładności znajduje się wartość x i, że x i x i dla i=1, 2,..., p.

Zagadnienie przybliżonego obliczania pierwiastków (2.3) Lokalizacja pierwiastków: Przykład: Zlokalizować rzeczywiste pierwiastki funkcji f (x)=log(x+ 2) 2 x 2 + 1. Rozwiązanie: po przyrównaniu funkcji do zera, otrzymuje się równanie: log x 2 2x 2 1=0, które przekształca się do postaci: log x 2 =2x 2 1. Otrzymana zależność wyraża równość dwóch funkcji: y=log x 2 oraz y=2x 2 1. 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: x 1 [ 0,8 ; 0,7], x 2 [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 [a 0 ;b 0 ] został zlokalizowany jednokrotny, rzeczywisty pierwiastek funkcji y= f x, przy czym f x C [a 0 ;b 0 ]. Prawdziwe jest zatem: f a 0 f b 0 0. W kolejnych krokach algorytmu k=0,1, 2,... wyznacza się zmienną c k = a k b k /2 i modyfikuje przedział [a k 1 ;b k 1 ] zgodnie z zależnością: - jeśli f a k f c k 0 to a k 1 =a k,b k 1 =c k, - w przeciwnym przypadku a k 1 =c k,b k 1 =b k, Obliczenia są przerywane, gdy różnica pomiędzy krańcami przedziału zmaleje poniżej przyjętej wartości tj. a k b k.

Zagadnienie przybliżonego obliczania pierwiastków (2.5) Metoda bisekcji (2.5.2): Pseudokod programu: 1 k :=0 2 a 0 :=a 3 b 0 :=b 4 while b k a k ε 5 do begin 6 c k := a k+b k 2 7 if f (a k ) f (c k ) 0 8 then begin 9 a k +1 :=a k 10 b k +1 :=c k 11 end 12 else begin 13 a k +1 :=c k 14 b k +1 :=b k 15 end 16 k :=k +1 17 end 18 ~ x := a k +b k 2

Zagadnienie przybliżonego obliczania pierwiastków (2.5) Metoda bisekcji (2.5.3): Przykład : Wyznaczyć metodą bisekcji ujemny pierwiastek ( x 1 [ 0,8 ; 0,7]) funkcji f x =log x 2 2 x 2 1 z dokładnością =10 5. Tabela 2: Etapy wyznaczania rozwiązania

Zagadnienie przybliżonego obliczania pierwiastków (2.6) Metoda stycznych (metoda Newtona-Raphsona (N-R)) (2.6.1): Zakłada się, że w przedziale [a 0 ;b 0 ] został zlokalizowany jednokrotny, rzeczywisty pierwiastek funkcji y= f x, zatem: f a 0 f b 0 0. Założenia metody N-R: - f x C [a 0 ;b 0 ], - dla każdego x [a 0 ;b 0 ] albo f ' x 0 albo f ' x 0 ( f ' x nie zmienia znaku na przedziale [a 0 ;b 0 ], - dla każdego x [a 0 ;b 0 ] albo f ' ' x 0 albo f ' ' x 0 ( f ' ' x nie zmienia znaku na przedziale [a 0 ;b 0 ].

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 [a 0 ;b 0 ], (tzn. albo x 0 x 0 =a 0 albo x 0 =b 0 ), który spełnia warunek f x 0 f ' ' x 0 0 2. Wyznacza się parametr: m=min { f ' a 0 ; f ' b 0 } f x k 3. while m 4. do begin 5. x k 1 :=x k f x k f ' x k 6. k :=k 1 7. end 8. x k := x k Wygenerowany ciąg wartości x k,k=0,1,2,... Raphsona (procesu N-R). nosi nazwę procesu Newtona-

Zagadnienie przybliżonego obliczania pierwiastków (2.6) Metoda stycznych (2.6.3): Własności procesu N-R (Twierdzenie) Jeśli funkcja 1. lim k x k = x y= f x spełnia założenia metody N-R to proces N-R ma własności: (proces jest zbieżny do pierwiastka funkcji przedziale [a 0 ;b 0 ] ). 2. Ciąg x k,k=0,1,2,... jest ściśle monotoniczny, tzn. albo x 0 x 1 x k x albo y= f x x 0 x 1 x k x. leżącego w 3. k-ty wyraz procesu spełnia nierówność gdzie m=min { f ' a 0 ; f ' b 0 }. x x k f x k m

Zagadnienie przybliżonego obliczania pierwiastków (2.6) Metoda stycznych (2.6.4): Konstrukcja ciągu kolejnych przybliżeń: f(x 0 ) tg = f ' x 0 = f x 0 x 0 x 1 x 1 = x 0 f x 0 f ' x 0 wg [3]

Zagadnienie przybliżonego obliczania pierwiastków (2.6) Metoda stycznych (2.6.5): Przykład : Wyznaczyć metodą stycznych ujemny pierwiastek ( x 1 [ 0,8 ; 0,7] ) funkcji f (x)=log(x+ 2) 2 x 2 + 1 z dokładnością =10 5. Rozwiązanie: na początku należy wykazać, że w badanym przedziale funkcja spełnia założenia metody N-R. Dla x> 2 funkcja jest ciągła i ma ciągłe pochodne wszystkich rzędów f ' (x)= 1 8x+ 1 x+ 2 4x= 4x2 x+ 2 W przedziale [ 0,8 ; 0,7] spełniona jest nierówność f ' (x)> 0. f ' ' (x)= 1 4< 0 dla x> 2. 2 (x+ 2) {> 0 dla 2< x< 5 2 1 0.118 < 0 dla x > 5 2 1 0.118 Wniosek w przedziale [ 0,8; 0,7] Można stosować metodę stycznych. funkcja spełnia założenia metody N-R.

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 m. Z tabeli 1 można odczytać wartości funkcji dla obydwu końców przedziału: f ( 0,8)= 0,09768< 0, f ( 0,7)=+ 0.28286> 0. Ponieważ f ( 0,8) f ' ' ( 0,8)> 0 przyjmuje się że x 0 = 0,8. Następnie oblicza się m: 1 m=min{ 0,8+ 2 4( 0,8) ; 1 0,7+ 2 4( 0,7) } =min {4,033 ;3,569} 3,569. Wartości uzyskiwane w kolejnych iteracjach metody zawiera tabela 3. Tabela 3. x 0

Zagadnienie przybliżonego obliczania pierwiastków (2.7) Metoda iteracji prostej (2.7.1): Zakłada się, że w przedziale [a 0 ;b 0 ] został zlokalizowany jednokrotny, rzeczywisty pierwiastek funkcji y= f x, zatem: f a 0 f b 0 0. Metoda iteracji prostej składa sie z dwóch etapów: 1. Równanie f x =0 przekształca się do równoważnej postaci x=φ (x) (takie przekształcenie jest zawsze wykonalne i zazwyczaj istnieje kilka jego wariantów). 2. Wybiera się z przedziału [a 0 ;b 0 ] przybliżenie. Kolejne iteracje oblicza się ze wzoru: x k+ 1 =φ (x k ) dla k=0,1, x 0

Zagadnienie przybliżonego obliczania pierwiastków (2.7) Metoda iteracji prostej (2.7.2): Twierdzenie: Niech funkcja y=φ (x) będzie określona, ciągła i różniczkowalna w przedziale domkniętym dla każdego [a;b] oraz φ (x)ϵ C [a ;b] dla każdego xϵ [a; b]. Jeśli nierówność φ ' (x) q< 1 zachodzi dla każdego xϵ [a; b], to: 1) proces jest zbieżny niezależnie od wyboru x 0 ϵ [a ; b], oraz 2) zachodzą nierówności lim k x k = x [a ;b], x x k q 1 q x k x k 1 qk 1 q x 1 x 0 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 x= x, ktora spełnia założenia Twierdzenia. 2. Jako punkt startowy x 0 wybiera się dowolny x 0 [a 0 ; b 0 ] np. x 0 = a 0 b 0 /2. 3. k :=0 4. repeat 5. k :=k 1 6. x k = x k 1 7. until q 1 q x k x k 1 8. x :=x k

Zagadnienie przybliżonego obliczania pierwiastków (2.7) Metoda iteracji prostej (2.7.4): Przykład: Obliczyć metodą iteracji prostej ujemny pierwiastek funkcji f (x)=ln(x+ 2) 2x 2 + 1 z dokladnością ϵ =10 5. Rozwiazanie: ujemny pierwiastek funkcji leży w przedziale [ 0,8 ; 0,7] a dodatni w przedziale [1,0 ;1,1]. Najpierw przekształcamy równanie ln( x+ 2) 2x 2 + 1=0 do równoważnej postaci, spełniającej założenia twierdzenia. Przykładowo równanie można przekształcić w sposób: x=e 2x2 1 2=φ 0 (x). Dla tego przedstawienia mamy φ ' 0 ( x) = 4 x e 2x2 1 =4 x e 2x2 1.

Zagadnienie przybliżonego obliczania pierwiastków (2.7) Metoda iteracji prostej (2.7.5): Rozwiązanie (cd) Funkcja ta jest: a) w przedziale [ 0,8 ; 0,7] monotonicznie malejąca, stad dla xϵ [ 0,8 ; 0,7] φ ' 0 (x) φ ' 0 ( 0,7) =2,74456 ; b) w przedziale [1,0;1,1] monotonicznie rosnąca, zatem dla xϵ [1,0;1,1] φ ' 0 (x) φ ' 0 (1,0) =10,87313. W obydwu przedziałach spełniony jest warunek φ ' 0 (x) > 1, utworzony przez odwzorowanie x k =φ 0 (x k 1 ), k=1,2,... stąd proces jest rozbieżny.

Zagadnienie przybliżonego obliczania pierwiastków (2.7) Metoda iteracji prostej (2.7.6): Rozwiązanie (cd) Równanie ln( x+ 2) 2x 2 + 1=0 postaci jako para równań: x= ln (x+ 2)+ 1 =φ 2 1 (x), x= Dla obydwu funkcji moduł pochodnej jest równy może być przedstawione w równoważnej ln(x+ 2)+ 1 =φ 2 2 (x). φ ' 1,2 (x) = 1 2 1 2 1 ln(x+ 2)+ 1 1 x+ 2 = 2 4 1 ln(x+ 2)+ 1 1 x+ 2. Dla x 1 funkcja y= φ ' 1,2 (x) jest monotonicznie malejąca, stąd φ ' 1,2 (x) φ ' 1,2 ( 1.0) = 2 4 =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) φ 1 ( x)= ln( x+ 2)+ 1 2 dla wyznaczenia przybliżonej wartości pierwiastka z przedzialu [ 0,8 ; 0,7], b) φ 2 (x)= ln(x+ 2)+ 1 2 dla wyznaczenia przybliżonej wartości pierwiastka z przedzialu [1,0 ;1,1]. Za q przyjęto: max φ 1 ' (x)=0.27096 0.8 x 0.7 dla pierwiastka z przedzialu [ 0,8 ; 0,7], max φ 2 ' (x)=0.08135 1.0 x 1.1 dla pierwiastka z przedzialu [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 k metody iteracji prostej podano w tabeli 4. Tabela 4.