Wyk艂ad wprowadzaj拍刢y


Numeryczne metody oblicze艅 technicznych
Numeryczne metody oblicze艅 technicznych
Elektrotechnika, rok IV, modu艂 C
przedmiot obieralny
prowadz膮cy:
wyk艂ad: dr in偶. Tomasz Twardowski
B1/207, tel. 32-99, ttward@agh.edu.pl, http://galaxy.uci.agh.edu.pl/~ttward
laboratorium: mgr in偶. Dariusz Borkowski
B1/207, tel. 32-99, borkows@uci.agh.edu.pl, http://korova.zmet.agh.edu.pl/~bednar
Katedra Metrologii AGH Krak贸w 2005
Numeryczne metody oblicze艅 technicznych
Profil zaj臋膰
" Rozwi膮zywanie praktycznych problem贸w Elektrotechniki (i og贸lnie techniki)
z u偶yciem komputera i algorytm贸w numerycznych.
" Wyk艂ad: podstawy teoretyczne, analiza implementacji, przyk艂ady zastosowa艅.
Laboratorium: samodzielne rozwi膮zywanie problem贸w.
" Koncentrujemy si臋 na 艣wiadomym korzystaniu z gotowych implementacji algorytm贸w.
" Nie zajmujemy si臋 dowodami matematycznymi i samodzielnym implementowaniem
algorytm贸w.
" Nie wchodzimy w obszar poj臋膰 innych przedmiot贸w (np. statystyki, DSP, grafiki,
elektroniki), ale u偶ywamy jako przyk艂ad贸w problem贸w zaczerpni臋tych z tych dziedzin.
" Pracujemy w 艣rodowiskach programowania: Matlab, j臋zyk C/C++ z bibliotekami
numerycznymi
Katedra Metrologii AGH Krak贸w 2005
Numeryczne metody oblicze艅 technicznych
Tematy wyk艂ad贸w
1. Wprowadzenie do oblicze艅 numerycznych: historia, zapis zmiennopozycyjny, b艂臋dy oblicze艅
2. Macierzowy opis problem贸w (elektro-)techniki
3. Rozwi膮zywanie uk艂ad贸w r贸wna艅 liniowych
4. Interpolacja wielomianowa, trygonometryczna, funkcje sklejane, ekstrapolacja
5. Ca艂kowanie i r贸偶niczkowanie funkcji
6. Aproksymacja i nadokre艣lone uk艂ady r贸wna艅 liniowych
7. Warto艣ci w艂asne i warto艣ci osobliwe  obliczanie i zastosowania
8. Rozwi膮zywanie r贸wna艅 i uk艂ad贸w r贸wna艅 nieliniowych
9. Optymalizacja i minimalizacja funkcji
10. Rozwi膮zywanie zagadnie艅 pocz膮tkowych dla r贸wna艅 r贸偶niczkowych zwyczajnych
11. Rozwi膮zywanie zagadnie艅 brzegowych dla r贸wna艅 r贸偶niczkowych cz膮stkowych
12. Generowanie liczb pseudolosowych i metody Monte Carlo
Katedra Metrologii AGH Krak贸w 2005
Numeryczne metody oblicze艅 technicznych
Literatura uzupe艂niaj膮ca (dla zainteresowanych szerzej tematem)
ksi膮偶ki polskoj臋zyczne:
Fortuna Z., Macukow B., W膮sowski L.,  Metody numeryczne , WNT 2003 (nowe wydanie, <"40z艂)
Bjorck A., Dahlquist G.,  Metody numeryczne , PWN 1983
Guziak T. i inni  Metody numeryczne w elektrotechnice , Politechnika Lubelska 2002 (nowe wydanie, <"32z艂)
E. K膮cki, A. Ma艂olepszy, A. Romanowicz,  Metody numeryczne dla in偶ynier贸w
ksi膮偶ki angielskoj臋zyczne:
Press, Flannery, Teukolsky, Vetterling,  Numerical Recipes in (& ) , Cambridge University Press (dost臋pna
jako dokumenty PDF pod adresem www.nr.com)
Mathews J.H.,  Numerical Methods for Mathematics, Science, and Engineering , Prentice Hall 1992
Hoffman J.D.,  Numerical methods for engineers and scientists
strony internetowe (has艂a wyszukiwania: scientific computing, numerical analysis):
http://www.cse.uiuc.edu/heath/scicomp/notes - notatki do wyk艂adu wg podr臋cznika M.T. Heath, Univ. Illinois
http://lanczos.math.cwru.edu/~dxc57/math330/main.html - CWR Univ. Cleveland,
http://www.icsr.agh.edu.pl/~mownit/mownit.html - AGH, notatki dr M. Bubaka dla kierunku Informatyka
Katedra Metrologii AGH Krak贸w 2005
Numeryczne metody oblicze艅 technicznych
Wyk艂ad I
Wprowadzenie do oblicze艅 numerycznych
" Historia oblicze艅 numerycznych
" Wsp贸艂czesne in偶ynierskie obliczenia komputerowe
" Zapis liczb w pami臋ci komputera
" B艂臋dy w obliczeniach komputerowych
Katedra Metrologii AGH Krak贸w 2005
Numeryczne metody oblicze艅 technicznych
Historia oblicze艅 numerycznych
Podstawy wsp贸艂czesnych oblicze艅 komputerowych
I.Newton B.Taylor L.Euler T.Simpson P.S.Laplace J.B.J.Fourier
(1643-1727) (1685-1731) (1707-1783) (1710-1761) (1749-1827) (1768-1830)
J.F.C.Gauss P.L.Czebyszew Ch.Hermite J.W.S.Rayleigh W.M.Kutta J.Tukey
(1777-1855) (1821-1894) (1822-1901) (1842-1919) (1867-1944) (1915-2000)
Portrety z serwisu internetowego  MacTutor History Archive
Katedra Metrologii AGH Krak贸w 2005
Numeryczne metody oblicze艅 technicznych
Wsp贸艂czesne in偶ynierskie obliczenia komputerowe
Biblioteki numeryczne
LAPACK  algebra liniowa, Fortran,
BLAS (Basic Linear Algebra Subroutines) - szybkie obliczenia macierzowe, Fortran
NAG, C/Fortran/MatlabToolbox
Numerical Recipes in C/Fortran/Pascal/C++
GSL (GNU Scientific Library, free software), C/C++
艢rodowiska oblicze艅 in偶ynierskich
Zorientowane na obliczenia numeryczne (podstawowy typ to macierz warto艣ci zespolonych):
Matlab (zbudowany na bazie BLAS i LAPACK, si艂a w specjalizowanych toolboxach)
Octave, SciLab (klony Matlaba, przeno艣no艣膰 program贸w (?))
Zorientowane na obliczenia symboliczne:
Mathematica
Maple
Specjalizowane
Np. ABAQUS, ANSYS, OPERA, NASTRAN - do rozwi膮zywania problem贸w polowych
Katedra Metrologii AGH Krak贸w 2005
Numeryczne metody oblicze艅 technicznych
Wsp贸艂czesne zastosowania oblicze艅 numerycznych
Modelowanie (generowanie informacji na Przetwarzanie danych/informacji ze 艣wiata
podstawie znanego opisu) rzeczywistego
zdj臋cie z http://www.fem.info.gifu-u.ac.jp zdj臋cie z http://www.cedara.com/
Katedra Metrologii AGH Krak贸w 2005
Numeryczne metody oblicze艅 technicznych
Reprezentacja liczb w obliczeniach komputerowych
Omawiane dalej formaty reprezentacji liczb s膮 kolejnymi podej艣ciami do przybli偶enia skali liczb
rzeczywistych zbiorem sko艅czonej ilo艣ci warto艣ci zapisywanych binarnie (bitowo).
S艂owo N-bitowe:
bN-1 bN-2 ... b2 b1 b0
Formaty r贸偶ni膮 si臋 mi臋dzy sob膮 interpretacj膮 poszczeg贸lnych bit贸w.
Reprezentacja ca艂kowitoliczbowa (j臋zyk C: unsigned, int, long)
KOD Warto艣膰 liczby Zakres warto艣ci Rozdzielczo艣膰
N -1
Bez znaku 1
0,2N -1
i
v =
"2 bi
i=0
N -2
Znak-modu艂 1
bN -1
i - 2N -1 -1 , 2N -1 -1
( ) ( )
v =
(-1
)
"2 bi
i=0
N -2
-1 -1
U2 (inwersja bit贸w +1) 1
i -1
v =-2N -1bN -1 +
"2 bi -2N ,2N
i=0
Podstawowa niedogodno艣膰 w tym formacie to brak skalowania, czyli mo偶liwo艣ci reprezentacji tym
samym typem du偶ych i ma艂ych liczb.
Katedra Metrologii AGH Krak贸w 2005
Numeryczne metody oblicze艅 technicznych
Reprezentacja sta艂oprzecinkowa (stosowana w niekt贸rych procesorach sygna艂owych)
Niedogodno艣膰 poprzedniego zapisu eliminuje format:
v = sq + b
gdzie:
s  wsp贸艂czynnik skaluj膮cy (slope) w formacie s = f " 2e (1 d" f < 2, e ustala pozycj臋 kropki)
b  wsp贸艂czynnik przesuwaj膮cy (bias)
q  w艂a艣ciwy (pami臋tany) zapis binarny (bez znaku lub U2)
Obydwa wsp贸艂czynniki nie s膮 cz臋艣ci膮 zapisu liczby a jedynie okre艣laj膮 konwencj臋 interpretacji
zapisu binarnego q.
Przyk艂ady:
1) Analogia do skalowania binarnego wyniku przetwarzania A/C dla wybranego zakresu.
np. 12-bit (jak PCL818), zakres: 0-5[V], Um = 5 212 q , zakres: 膮1.25[V], Um = 2.5 212 q -1.25
2) f=1, e=-N, b=0, (fractionals), np. q=01010001, v = 2-8 26 + 24 + 20 = 1 4 +1 16 +1 256
()
3) f=1, e dowolne, b=0, (radix point scaling), np. q jak wy偶ej, v = 2-4 26 + 24 + 20 = 4 +1+1 16
( )
4) 1 < f < 2 , e i b dowolne, (generalized fixed-point)
Niedogodno艣膰 w tym formacie to brak dynamicznego skalowania, czyli mo偶liwo艣ci reprezentacji
t膮 sam膮 zmienn膮 du偶ych i ma艂ych liczb z por贸wnywaln膮 precyzj膮.
Katedra Metrologii AGH Krak贸w 2005
Numeryczne metody oblicze艅 technicznych
Reprezentacja zmiennoprzecinkowa
Tak膮 w艂asno艣膰 dynamicznego skalowania w in偶ynierskim zapisie liczb ma tzw. notacja naukowa o
og贸lnej postaci v = f "10e , gdzie f jest tak skalowane, 偶e zawiera jedn膮 niezerow膮 cyfr臋 przed
separatorem dziesi臋tnym (przecinek w Polsce, kropka w krajach zachodnich). Np. liczba Avogadro
(ilo艣膰 cz膮steczek tworz膮ca mol substancji) jest w tej notacji zapisywana jako 6,02252 "1023[mol-1],
a 艂adunek elementarny to 1,602 "10-19[C].
W naturalny spos贸b notacj臋 t臋 mo偶na zastosowa膰 r贸wnie偶 przy cyfrach binarnych z podstaw膮 2.
s
Wtedy: v =
(-1 " f " 2e, a poszczeg贸lne elementy reprezentacji s膮 z艂o偶one z bit贸w:
)
s eK-1 eK-2 ... e1 e0 fL-1 fL-2 ... f2 f1 f0
s - bit znaku (sign): 0  liczba dodatnia, 1  liczba ujemna
e - wyk艂adnik (cecha, exponent), K bit贸w, okre艣la dynamik臋, e = ei 2i - b,
"
i=0,& ,K -1
Warto艣ci ujemne dla liczb <1, dodatnie dla liczbe" 2, przesuni臋cie (bias) b = 2K -1 -1.
f - mantysa (fraction), L bit贸w, okre艣la precyzj臋 reprezentacji
呕eby unikn膮膰 niejednoznaczno艣ci w reprezentacji liczb mantysa jest normalizowana, tzn. ma
posta膰 1.f. Pami臋tana jest tylko cz臋艣膰 po przecinku f. W szczeg贸lnym przypadku u偶ywana jest
specjalnie sygnalizowana (o tym dalej) forma zdenormalizowana 0.f.
Ca艂kowita ilo艣膰 bit贸w N=1+K+L
Katedra Metrologii AGH Krak贸w 2005
Numeryczne metody oblicze艅 technicznych
W艂asno艣ci reprezentacji zmiennoprzecinkowej
Oszacujmy dok艂adno艣膰 reprezentacji liczb rzeczywistych postaci膮 zmiennoprzecinkow膮. Dla
czytelno艣ci wynik贸w pos艂u偶ymy si臋 niepraktycznie kr贸tkim, 5-cio bitowym s艂owem kodowym,
z N=5, K=2, L=2, b=1. Przyk艂adowe warto艣ci to (liczby znormalizowane, tj. mantysa formatu 1.f):
0
0 01 00 =
(-1 " 21-1 "1.0 = 20 = 1
)
1
1
1 10 10 =
(-1 " 22-1 " 1+ 2-2 = -21 " 1+ = -2.5
) ( )
( )
4
0
0 11 01 =
(-1 " 23-1 " 1+ 2-1 = 6
)
( )
0
0 00 10 =
(-1 " 20-1 " 1+ 2-2 = 0.625
)
( )
Warto艣ci reprezentowane tym s艂owem kodowym przedstawiono na osi liczb rzeczywistych:
-8 -7 -6 -5 -4 -3 -2 -1 0 1 2 3 4 5 6 7 8
Wnioski:
Odst臋p pomi臋dzy warto艣ciami nie jest sta艂y, jest wi臋kszy przy wi臋kszych liczbach
Zero i warto艣ci wok贸艂 zera nie s膮 reprezentowane
Po denormalizacji (sygnalizowana przez e=0, wtedy mantysa 0.f i skalowanie 21-b):
-8 -7 -6 -5 -4 -3 -2 -1 0 1 2 3 4 5 6 7 8
Katedra Metrologii AGH Krak贸w 2005
Numeryczne metody oblicze艅 technicznych
IEEE Standard 754 (1985)
Definiuje regu艂y zapisu reprezentacji zmiennoprzecinkowych o pojedynczej (single) i podw贸jnej
(double) precyzji. Regu艂y te s膮 powszechnie u偶ywane w sprz臋cie i oprogramowaniu
obliczeniowym. W j臋zyku C to typy float i double, w Matlabie domy艣lna jest podw贸jna precyzja.
Standard okre艣la rozmiary N, K i L, kt贸re determinuj膮 warto艣ci w pozosta艂ych kolumnach.
Format realmin (norm) realmax bias b precision (eps)
single (N=32, K=8, L=23) 127
2-126H"10-38 (2-2-23)2127H"3"1038 2-23H"10-7
double (N=64, K=11, L=52) 1023
2-1022H"10-308 (2-2-52)21023H"1.7"10308 2-52H"10-16
Przyk艂ady dla podw贸jnej precyzji w zapisie heksadecymalnym (symbole specjalne Matlaba):
1) najmniejsza liczba znormalizowana (realmin): 00 10 00 00 00 00 00 00
2) najwi臋ksza liczba rzeczywista (realmax): 7f ef ff ff ff ff ff ff
3) pierwsza liczba wi臋ksza od 1 (1+eps): 3f f0 00 00 00 00 00 01
4)  1: bf f0 00 00 00 00 00 00
liczby denormalizowane (sygnalizowane przez e=-1023):
5) 0: 00 00 00 00 00 00 00 00
6) realmin/2: 00 08 00 00 00 00 00 00
wyj膮tki (sygnalizowane przez e=1024):
7) Inf: 7f f0 00 00 00 00 00 00
8) NaN: ff f8 00 00 00 00 00 00
Katedra Metrologii AGH Krak贸w 2005
Numeryczne metody oblicze艅 technicznych
B艂臋dy w obliczeniach numerycznych
yr贸d艂em b艂臋d贸w obliczeniowych skojarzonym z obliczeniami numerycznymi jest przybli偶ona
reprezentacja liczb rzeczywistych w postaci zmiennoprzecinkowej. B艂膮d zwi膮zany z tym
przybli偶eniem zale偶y od konkretnej warto艣ci, ale mo偶emy poda膰 jego warto艣膰 graniczn膮.
Poniewa偶 zaokr膮glanie (obecnie stosowane, wcze艣niej powszechne by艂o obci臋cie) liczby

rzeczywistej x do najbli偶szej liczby reprezentowalnej zmiennoprzecinkowo x wi膮偶e si臋 z b艂臋dem
wzgl臋dnym (zobacz wcze艣niejszy rysunek z osi膮 reprezentowalnych warto艣ci znormalizowanych):
" K
"
#艣#
s 膭#艅# 膭#艅#
(-1 2e 艣# 贸#1+ fi 2-i 膭# -
)
"""
藕#
贸#1+ fi 2-i 膭#fi 2-i

x - x
艁# i=1 艢# 艁# i=1 艢#
# #
i=K +1
 == = d" 2-(K +1) = eps 2
"
"
x
s 膭#艅#
1+ fi 2-i
(-1 2e 贸#1+ fi 2-i 膭#
)
"
"
i=1
艁# i=1 艢#
W dalszej analizie dok艂adno艣ci algorytm贸w numerycznych b臋dziemy przyjmowa膰 wzgl臋dne

 zaburzenie danych, tj. x = x(1+  ). To ma艂e (na poziomie eps/2) zaburzenie mo偶e w przypadku
niekt贸rych zada艅 obliczeniowych prowadzi膰 do du偶ych b艂臋d贸w wyniku oblicze艅. Tak jest w
przypadku wyznaczania r贸偶nicy dw贸ch bliskich liczb (catastrophic cancelation):
x - y - 膭#x 1膮  - y 1膮  艅#
[ ] ( ) ( )艢#  x + y
( ) ma艂a r贸偶nica liczb wzgl臋dny b艂膮d wyniku DU呕Y !
艁#
d"
x - y x
( - y
)
Katedra Metrologii AGH Krak贸w 2005
Numeryczne metody oblicze艅 technicznych
Uwarunkowanie zadania obliczeniowego
Definicja (intuicyjna)
Jest to wra偶liwo艣膰 zadania obliczeniowego na zaburzenie danych wyra偶ana jako wzmocnienie
propagacji tych zaburze艅 danych na zaburzenie wyniku oblicze艅 (przenoszenie b艂臋du).
Pierwszy przyk艂ad zadania trudnego obliczeniowo
R贸偶nica dw贸ch bliskich liczb pojawia si臋 przy wyznaczaniu pierwiastk贸w r贸wnania kwadratowego
-b - b2 - 4ac -b + b2 - 4ac
ax2 + bx + c = 0 ze  szkolnego wzoru: x1 = x2 =
2a 2a
Jak widzimy, licznik tych wyra偶e艅 w przypadku, gdy b ac , jest r贸偶nic膮 bliskich liczb (wz贸r na
x1 dla b<0, x2 dla b>0). Zaburzenie b b臋dzie skutkowa膰 du偶ym b艂臋dem wyznaczenia pierwiastka.
Zadania trudne obliczeniowo mo偶na rozwi膮za膰 z zadowalaj膮c膮 dok艂adno艣ci膮 stosuj膮c wi臋ksz膮
precyzj臋 oblicze艅 (np. zmiana typu z float na double) lub stosuj膮c zadanie r贸wnowa偶ne ale mniej
wra偶liwe na zaburzenie danych.
Np. powy偶sze zadanie mo偶na r贸wnie偶 rozwi膮za膰 stosuj膮c r贸wnowa偶ne wzory:
-2c -2c
x1 = x2 =
b - b2 - 4ac b + b2 - 4ac
Wybieraj膮c, zale偶nie od warto艣ci b, wersj臋 wzoru uzyskujemy dok艂adniejsze rozwi膮zanie.
Katedra Metrologii AGH Krak贸w 2005
Numeryczne metody oblicze艅 technicznych
Drugi przyk艂ad zadania trudnego obliczeniowo
Uk艂ady r贸wna艅 liniowych z macierz膮 blisk膮 osobliwej to klasyczny przyk艂ad zadania zle
uwarunkowanego. Rozwa偶my uk艂ad dw贸ch r贸wna艅 liniowych z parametrem a:
x1 + x2 =1 1 1 x1 1
偶# 膭# 艅# 膭# 艅# 膭# 艅#
= . Dla a=1 uk艂ad jest zale偶ny
#ax + x2 =1 co mo偶na zapisa膰 macierzowo jako 贸#
贸#x 膭# 贸#1膭#
# 1 艁#a 1膭# 艁# 2 艢# 艁# 艢#
艢#
A
(okre艣la t臋 sam膮 prost膮 w przestrzeni (x1, x2)) i nie posiada jednego rozwi膮zania. Mo偶na
podejrzewa膰, 偶e dla a bliskiego 1 zadanie b臋dzie wra偶liwe na zaburzenie danych
(tj. wsp贸艂czynnik贸w r贸wna艅). Potwierdzaj膮 to podejrzenie poni偶sze rysunki, na kt贸rych
zaznaczono obszar rozrzutu wyznaczonych graficznie (przy tej rozdzielczo艣ci rysunku) rozwi膮za艅.
x2 x2
-x1+ x2=1
0.9x1+ x2=1
x1
x1
x1+ x2=1
x1+ x2=1
a=0.9
a=-1
Pr贸ba rozwi膮zania uk艂adu metod膮 wyznacznik贸w ujawnia znany ju偶 pow贸d z艂ego uwarunkowania
w postaci r贸偶nicy bliskich liczb (1 det A =1 1- a ).
[ ] ( )
Katedra Metrologii AGH Krak贸w 2005
Numeryczne metody oblicze艅 technicznych
Wskaznik uwarunkowania
Wskaznik uwarunkowania (condition number) okre艣la liczbowo trudno艣膰 obliczeniow膮 zadania.
Jest definiowany jako stosunek wzgl臋dnego zaburzenia wyniku do powoduj膮cego go wzgl臋dnego
zaburzenia danych.
Oznaczaj膮c:

x - dane zadania, x - zaburzone dane zadania,
y = f x  rozwi膮zanie zadania powi膮zane zale偶no艣ci膮 f() z danymi x,
( )

y = f x - zaburzone rozwi膮zanie zadania dla zaburzonych danych,
( )

f x f x
( )- ( )
df x df x
( ) ( )
x x
f x
( )
dx dx
cond x H"
cond x =H" . W przypadku skalarnym norm膮 jest modu艂:
( ) ( )
f f

x-x
f x f x
( ) ( )
x
Przyk艂ad: uwarunkowanie zad. wyznaczania pierwiastk贸w r贸wnania kwadratowego (za艂. a=0.5):
dx1 b
b
=-1- condx b H" . Dla b=1, c 1 2: condx b "
( ) ( )
1 1
b2 -2c
db
b2 - 2c
(w wielu ksi膮偶kach - wra偶liwo艣膰 wielomianu rz臋du 20 z zerami ca艂kowitymi  do poczytania).
Wskaznik uwarunkowania dla zada艅 macierzowych, jak w drugim przyk艂adzie, zale偶y od
w艂asno艣ci przetwarzanych macierzy. To b臋dzie om贸wione na nast臋pnym wyk艂adzie.
Katedra Metrologii AGH Krak贸w 2005


Wyszukiwarka

Podobne podstrony:
WYK艁AD 1 Wprowadzenie do biotechnologii farmaceutycznej
wyklad 1 wprowadzenie statystyki oisowe
03 Wyklad 1 (wprowadzenie do BM)
Wyklad 1 Wprowadzenie do tematyki?z?nych
Wyklad 1 Wprowadzenie do finansow przedsiebiorstwa
Wyk艂ad 1 Wprowadzenie do promocji zdrowia
Wyklad 1 Wprowadzenie do zzl, modele zzl
wyk艂ad wprowadzenie 01b
wyk艂ad 1 wprowadzenie
wyklad wprowadzenie do pedagogiki
SOCR wyklad 1 Wprowadzenie?
1 Wyklad Wprowadzenie
Wyk艂ad 2 Wprowadzenie
Wyk艂ad 6 Wprowadzanie DNA
Wyk艂ad 1 wprowadzenie do ekonomii
wyk艂ad 9 wprowadzenie do modeli dla zero jedynkowych zmi ennych objasnianych
2 wyk艂ad wprowadzenie do nowotwor贸w
CAD Wyklad Wprowadzenie
IMiU W01 Wyk艂ad wprowadzaj膮cy

wi臋cej podobnych podstron