METODY NUMERYCZNE Wykład 1. Wprowadzenie do metod numerycznych dr hab.inż. Katarzyna Zakrzewska, prof.agh, Katedra Elektroniki, AGH e-mail: zak@agh.edu.pl http://home.agh.edu.pl/~zak Met.Numer. wykład 1 1 Wprowadzenie do metod numerycznych Metody numeryczne są działem matematyki stosowanej zajmującym się opracowywaniem metod przybliżonego rozwiązywania problemów matematycznych, których albo nie można rozwiązać metodami dokładnymi albo metody dokładne posiadają tak dużą złożoność obliczeniową, że są praktycznie nieużyteczne Metody numeryczne zajmują się konstruowaniem algorytmów, których obiektami, tj. danymi, wynikami pośrednimi i wynikami ostatecznymi są liczby Met.Numer. wykład 1 Wprowadzenie do metod numerycznych Cechy charakterystyczne metod numeryczne: obliczenia wykonywane są na liczbach przybliżonych rozwiązania zagadnień też są wyrażone liczbami przybliżonymi wielkość błędu w procesie obliczeń numerycznych jest zawsze kontrolowana Met.Numer. wykład 1 3 1
Literatura: Z. Fortuna, B. Macukow, J. Wąsowski, Metody numeryczne, Podręczniki Akademickie EIT, WNT Warszawa,198, 005 L.O. Chua, P-M. Lin, Komputerowa analiza układów elektronicznych-algorytmy i metody obliczeniowe, WNT, Warszawa, 1981 G.Dahlquist, A.Björck, Metody matematyczne, PWn Warszawa, 1983 Autar Kaw, Luke Snyder http://numericalmethods.eng.usf.edu Met.Numer. wykład 1 4 Literatura dodatkowa: M.Wciślik, Wprowadzenie do systemu Matlab, Wydawnictwo Politechniki Świętokrzyskiej, Kielce, 000 S. Osowski, A. Cichocki, K.Siwek, Matlab w zastosowaniu do obliczeń obwodowych i przetwarzania sygnałów, Oficyna Wydawnicza Politechniki Warszawskiej, Warszawa 006 W.H. Press, et al., Numerical recipes, Cambridge University Press, 1986 Met.Numer. wykład 1 5 Wprowadzenie do metod numerycznych Plan Rozwiązywanie problemów inżynierskich Przegląd typowych procedur matematycznych Stało i zmiennoprzecinkowa reprezentacja liczb Met.Numer. wykład 1 6
Jak rozwiązuje się problem inżynierski? Opis problemu Model matematyczny Rozwiązanie modelu Zastosowanie rozwiązania Met.Numer. wykład 1 7 Przykład rozwiązania problemu inżynierskiego Wg Autar Kaw http://numericalmethods.eng.usf.edu Mechanizm otwarcia mostu zwodzonego the Bridge of Lions in St. Augustine, Florida Met.Numer. wykład 1 8 Mechanizm THG piasta (ang. hub) czop zawieszenia obrotowego (ang. trunnion) dźwigar mostu (ang. girder) Met.Numer. wykład 1 9 3
Montaż THG Etap 1. Etap. Etap 3. Etap 4. Czop jest zanurzany w mieszaninie suchy lód/alkohol (8 F, około -80 C) Czop rozszerza się w piaście Czop-piasta zanurzone w mieszaninie suchy lód/alkohol Po umieszczeniu w dźwigarze czoppiasta rozszerza się Met.Numer. wykład 1 Pojawił się problem! Po schłodzeniu, czop zaciął się w piaście Met.Numer. wykład 1 11 Dlaczego? Wymagana jest kontrakcja elementu 0.015 lub więcej. Czy czop uległ wystarczającemu zwężeniu? Met.Numer. wykład 1 1 4
Δ D = = ΔT Obliczenia = D α ΔT D =1.363" α = 6.47 6 in / in / = 8 80 = 188 (1.363 )( 6.47 0.01504" 6 o F o F )( 188 ) Met.Numer. wykład 1 13 Jednostki 1 in =.54 cm D =1.363" 31, 4cm 9 T F = 5 T C o 0 T = 80 F 6,7 0 + 3 F C = 0.01504 in = 0. 0380 cm Met.Numer. wykład 1 14 Czy użyty wzór jest prawidłowy? = D α ΔT = D α ΔT T( o F) α (μin/in/ o F) -340.45-300 3.07-0 4.08-160 4.7-80 5.43 0 6.00 40 6.4 80 6.47 Met.Numer. wykład 1 15 5
c a Rozwiązanie problemu Prawidłowy model powinien brać pod uwagę zmieniający się współczynnik rozszerzalności termicznej Tc = D α( T) dt Ta Met.Numer. wykład 1 16 Czy można oszacować kontrakcję? Tc = D α( T) dt Ta T a =80 o F; T c =-8 o F; D=1.363 = T D α( T) dt T Met.Numer. wykład 1 17 Zmiana średnicy () przez oziębianie w mieszaninie lód/alkohol jest dana Tc = D α ( T ) dt Ta T a = 80 o F T c = -8 o F D = 1.363" α = 1.78 Dokładne określenie kontrakcji 5 T = 0.0137" + 6.1946 T + 6.0150 Met.Numer. wykład 1 18 3 za mało!!! 6
Zastosowanie rozwiązania problemu wskazówki praktyczne Jedną z możliwych wskazówek jest aby czop schładzać w ciekłym azocie, który wrze w temperaturze -31 o F dużo niższej niż -8 o Fdla mieszaniny suchy lód/alkohol = 0.044" Met.Numer. wykład 1 19 Podsumowując: 1) Stwierdzenie problemu: czop nie obraca się swobodnie ) Modelowanie: stworzenie nowego modelu Tc = D α( T ) dt Ta 3) Rozwiązanie: a) użyć metody graficznej b) użyć metod regresji i przeprowadzić całkowanie 4) Implementacja: schładzać czop w temperaturze ciekłego azotu. Met.Numer. wykład 1 0 Procedury matematyczne Równania nieliniowe Różniczkowanie Układ równań liniowych Dopasowanie krzywych Interpolacja Regresja Całkowanie Zwyczajne równania różniczkowe Inne zaawansowane procedury: Cząstkowe równania różniczkowe Optymalizacja Szybka transformata Fouriera Met.Numer. wykład 1 1 7
Równania nieliniowe Jak głęboko kula jest zanurzona w wodzie? 3 x 0.165x R=0.11m + 3.993 4 = 0 Met.Numer. wykład 1 f ( x) = x 3 0.165x + 3.993 4 = 0 Met.Numer. wykład 1 3 Met.Numer. wykład 1 4 8
Różniczkowanie Jakie jest przyspieszenie wt=7s? 4 v(t) 16 = 00 ln 9. t 16 5000t 8 4 dv a = dt Met.Numer. wykład 1 5 Czas (s) 5 8 1 V(m/s) 6 177 600 dv a = dt Met.Numer. wykład 1 6 Układ równań liniowych Znaleźć profil prędkości, przy założeniu: Czas (s) 5 8 1 V (m/s) 6 177 600 v ( t) = at + bt + c, Układ trzech równań liniowych 5 a + 5b + c = 6 64 a + 8b + c = 177 144 a + 1b + c = 600 5 t 1 Met.Numer. wykład 1 7 9
Interpolacja Jaka jest prędkość rakiety w t=7 s? Czas (s) 5 8 1 V (m/s) 6 177 600 Met.Numer. wykład 1 8 Regresja Współczynnik rozszerzalności termicznej stali Met.Numer. wykład 1 9 Regresja Met.Numer. wykład 1 30
Całkowanie = D T fluid Troom α dt Met.Numer. wykład 1 31 Zwyczajne równania różniczkowe Jak długo trzeba chłodzić ciało? dθ mc = ha( θ θa ), θ (0) = θroom dt Met.Numer. wykład 1 3 Co trzeba wiedzieć układając własne algorytmy obliczeniowe? wielkość pamięci operacyjnej komputera szybkość wykonywania operacji arytmetycznych i logicznych zakres liczb dopuszczalnych podczas obliczeń dokładność wykonywania podstawowych działań arytmetycznych na liczbach rzeczywistych Met.Numer. wykład 1 33 11
Sposób przedstawiania liczb w pamięci komputera Liczby są zapamiętywane jako stałoprzecinkowe (liczby stałopozycyjne, ang. fixed-point numbers) zmiennoprzecinkowe (liczby zmiennopozycyjne, ang. floatingpoint numbers, fl) Komputer pracuje wewnętrznie w układzie dwójkowym, a komunikuje się ze światem zewnętrznym w układzie dziesiętnym, stąd procedury konwersji. Jest to źródłem błędów. Met.Numer. wykład 1 34 Arytmetyka komputerowa Reprezentacja liczby dziesiętnej 1 0 57.76 = + 5 + 7 + 7 System dwójkowy (binarny) (11.0011) W układzie dwójkowym stosujemy dwie cyfry: 0 i 1, nazywane bitami 1 + 6 3 1 0 (1 + 0 + 1 + 1 ) = 1 3 + (0 + 0 + 1 + 1 = 11.1875 4 ) Met.Numer. wykład 1 35 Zamiana liczby całkowitej w zapisie dziesiętnym na liczbę w zapisie dwójkowym 11/ 5 5/ / 1 1/ 0 Iloraz Reszta 1 = a 0 1 = a 1 0 = a 1 = a 3 stąd (11) = ( a a a a 3 = (11) 1 0 ) Met.Numer. wykład 1 36 1
Start Input (N) Liczba całkowita N ma być zamieniona na liczbę w układzie dwójkowym i=0 Podziel N przez aby otrzymać iloraz QiresztęR i=i+1,n=q a i =R Nie Czy Q=0? Tak n=i (N) =(a n...a 0 ) STOP http://numericalmethods.eng.usf.edu Met.Numer. wykład 1 37 Zamiana liczby ułamkowej w zapisie dziesiętnym na liczbę w zapisie dwójkowym 0.1875 0.375 0.75 0.5 Wynik mnożenia Po przecinku 0.375 0.375 0.75 0.75 1.5 0.5 1.0 0.0 Liczba przed przecinkiem 0 = a 1 0 = a 1 = a 3 1 = a 4 stąd (0.1875) a a a = ( 1 3 4) = (0.0011) a Met.Numer. wykład 1 38 Start Input (F) Fraction F to be converted binary to format i = 1 Multiply F by to get number before decimal, S and after decimal, T i = i 1, F = T a i =R No Is T =0? Yes n=i (F) =(a -1...a -n ) STOP 39 Met.Numer. wykład 1 http://numericalmethods.eng.usf.edu 39 13
skoro Zamiana dowolnej liczby w zapisie dziesiętnym na liczbę w zapisie dwójkowym ( 11.1875) = (?.? ) ( 11) = (11 ) i ( 0.1875) = (0.0011 ) otrzymujemy ( 11.1875) = (11.0011 ) Met.Numer. wykład 1 40 ( 11) Inne podejście ( 11.1875) 3 = + 3 3 1 = + + 1 3 1 0 = + + 3 = 1 + 0 = ( 11) 1 0 + 1 + 1 Met.Numer. wykład 1 41 Inne podejście ( 0.1875) = = 3 3 = 0 = + 0.065 + 1 4 (.0011) + 0 + 1 3 ( 11.1875) = ( 11. 0011) + 1 4 Met.Numer. wykład 1 4 14
Problem dokładności Przykład: Nie wszystkie liczby ułamkowe mogą być przedstawione dokładnie w systemie dwójkowym 0.3 0.6 0. 0.4 0.8 Wynik Po przecinku 0.6 0.6 1. 0. 0.4 0.4 0.8 0.8 1.6 0.6 Przed przecinkiem 0 = a 1 1 = a 0 = a 3 0 = a 4 1 = a 5 ( 0.3) ( a 1a a 3a 4a 5) = (0.001) = 0.815 Dokładność z jaką można przedstawiać liczby zależy od długości słów w komputerze. Zaokrąglanie i obcinanie prowadzi do błędów. Met.Numer. wykład 1 43 Struktura liczby zmiennoprzecinkowej x = M N M-mantysa liczby x W-wykładnik części potęgowej, N=, W zapisie zmiennoprzecinkowym liczba rzeczywista jest przedstawiana za pomocą dwóch grup bitów: I tworzy mantysę M, część ułamkowa ½<M<1 II - tworzy W, liczba całkowita, zakres W decyduje o zakresie liczb dopuszczalnych w komputerze w Met.Numer. wykład 1 44 Struktura liczby zmiennoprzecinkowej x = M N Przykład: Jeżeli w zapisie dwójkowym M określa 5 bitów a W trzy bity, przy czym pierwszy bit określa znak ( - to jeden), to: oznacza liczbę czyli: x = (1)11 M x = 0,11 Met.Numer. wykład 1 45 w (0) W + 1 1 0 1 + (1 + 0 1) x = + + + 4 8 16 w zapisie dziesiętnym -3,5 15
Struktura liczby zmiennoprzecinkowej x = M N W tym zapisie można utworzyć tylko niektóre liczby dodatnie w zakresie od 0,065 do 7,5; liczbę 0 oraz liczby ujemne od -0,065 do -7,5. Są pewne liczby, których nie można w tym zapisie przedstawić w Liczba x=0. ( w zapisie dziesiętnym) ma w zapisie dwójkowym nieskończone rozwinięcie równe: x = 0,0011(0011) Najbliższa jej liczba (dla M=5 i W=3) to x = 0,0010 czyli 0,1875 Jest to źródłem błędów wejściowych Met.Numer. wykład 1 46 Struktura liczby stałoprzecinkowej Jeżeli na reprezentację liczby stałoprzecinkowej przeznacza się n+ bity (1 bit na znak i n+1 bitów na wartość bezwzględną liczby) to struktura ma postać: n k liczba = s b k k= 0 gdzie: s=1 lub s=-1 (znak liczby) b k przyjmuje wartość 0 lub 1 (wartość bezwzględna liczby) Met.Numer. wykład 1 47 Struktura liczby stałoprzecinkowej Na n+ bitach można zapisywać liczby całkowite z przedziału: [- n+1 +1; n+1-1] Liczby stałoprzecinkowe są podzbiorem liczb całkowitych. Podzbiór ten jest tym większy im większe jest n. Co to jest nadmiar stałoprzecinkowy? Met.Numer. wykład 1 48 16
Struktura liczby stałoprzecinkowej Języki programowania wysokiego poziomu oferują kilka typów liczb stałoprzecinkowych: Integer - 16 bitów LongInt 3 bity ShortInt 8 bitów Met.Numer. wykład 1 49 17