• Nie Znaleziono Wyników

Wykład 1.

N/A
N/A
Protected

Academic year: 2021

Share "Wykład 1."

Copied!
40
0
0

Pełen tekst

(1)

Met.Numer. wykład 1 1

METODY NUMERYCZNE

dr hab.inŜ. Katarzyna Zakrzewska, prof.AGH, Katedra Elektroniki, AGH

e-mail: zak@agh.edu.pl http://home.agh.edu.pl/~zak

Wykład 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

Wprowadzenie do metod numerycznych

(2)

Met.Numer. wykład 1 3

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

Wprowadzenie do metod numerycznych

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

(3)

Met.Numer. wykład 1 5

Literatura:

• Z. Fortuna, B. Macukow, J. Wąsowski, Metody numeryczne, Podręczniki Akademickie EIT, WNT Warszawa,1982, 2005

• 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

Literatura dodatkowa:

• M.Wciślik, Wprowadzenie do systemu Matlab, Wydawnictwo Politechniki Świętokrzyskiej, Kielce, 2000

• S. Osowski, A. Cichocki, K.Siwek, Matlab w zastosowaniu do obliczeń obwodowych i

przetwarzania sygnałów, Oficyna Wydawnicza Politechniki Warszawskiej, Warszawa 2006

• W.H. Press, et al., Numerical recipes, Cambridge

University Press, 1986

(4)

Met.Numer. wykład 1 7

Plan

• Arytmetyka zmiennoprzecinkowa

• Analiza błędów w obliczeniach numerycznych

• Zadania i algorytmy numeryczne

• Stabilność i uwarunkowanie algorytmu

Co trzeba wiedzieć układając własne algorytmy obliczeniowe?

• wielkość pamięci operacyjnej

• szybkość wykonywania operacji arytmetycznych i logicznych

• zakres liczb dopuszczalnych podczas obliczeń

• dokładność wykonywania podstawowych działań arytmetycznych na liczbach rzeczywistych

Przypomnienie

(5)

Met.Numer. wykład 1 9

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. floating- point 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.

Reprezentacja liczby dziesiętnej

2 1

0 1

2

5 10 7 10 7 10 6 10

10 2 76 .

257 = × + × + × + ×

+ ×

W układzie dwójkowym stosujemy dwie cyfry: 0 i 1, nazywane bitami

Arytmetyka komputerowa

System dwójkowy (binarny)

1875 . 11

) 2 1 2 1 2 0 2 0 (

) 2 1 2 1 2 0 2 1 ) (

0011 . 1011 (

10 4 3

2 1

0 1

2 3

2

=

 

 

× +

× +

× +

× +

× +

× +

× +

= ×

(6)

Met.Numer. wykład 1 11

Struktura liczby zmiennoprzecinkowej

N

w

M x = ×

M-mantysa liczby liczby x W-wykładnik części potęgowej, N=2, 10

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

Arytmetyka zmiennoprzecinkowa- system dziesiętny

Postać liczby

m 10 ×

e

σ ×

10

2

5678 .

2 ×

2

5678 . 2

1

=

=

= e m

Przykład

σ

znak liczby (-1 lub +1)

mantysa (1)10≤m<(10)10 wykładnik będący liczbą całkowitą

(7)

Met.Numer. wykład 1 13

Arytmetyka zmiennoprzecinkowa- system dwójkowy

Postać liczby

m × 2

e

× σ

( 1 . 1011011 )

2

× 2

(101)2

101 1011011 0

=

=

= σ e m

Przykład

znak liczby (0 dla dodatniej lub 1 dla ujemnej liczby)

mantysa (1)2≤m<(2)2

wykładnik będący liczbą całkowitą

1 nie jest zapisywane

Struktura liczby zmiennoprzecinkowej

N

w

M x = ×

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:

10 ) 0 ( 1101 ) 1 (

= x

M W

oznacza liczbę x = − 0 , 1101 × 2

+10

czyli: 2

(12 01)

16

1 8 0 4 1 2

1

+ +

×

 

 

 + + +

= x

w zapisie dziesiętnym -3,25

(8)

Met.Numer. wykład 1 15

Konsekwencje zapisu

N

w

M x = ×

W zapisie zmiennopozycyjnym moŜna utworzyć tylko niektóre liczby w zakresie zaleŜnym od ilości bitów mantysy M i

wykładnika w (dla N=2)

Są pewne liczby, których nie moŜna w tym zapisie przedstawić dokładnie. Przyjęcie najbliŜszej wartości jako przybliŜenia tej liczby jest źródłem błędów wejściowych.

Zaokrąglanie oznacza, Ŝe kaŜda wielkość mieszcząca się w przedziale o długości ∆x będzie reprezentowana jako najbliŜsza dozwolona liczba.

Przedział między liczbami, które moŜemy przedstawić dokładnie rośnie gdy liczby rosną.

) 0011 ( 0011 , 0

= x

NajbliŜsza jej liczba dla ilości cyfr mantysy t=4 i wykładnika 3 to

Liczba x=0.2 ( w zapisie dziesiętnym) ma w zapisie dwójkowym nieskończone rozwinięcie równe:

001100 ,

0 ' = x

czyli x’=0,1875 Przykład:

Błąd bezwzględny przybliŜenia

x − x ' = 0 , 0125

Dla liczby a=6,25 (1.1001x2(10)2) najbliŜszą jest a’=6,5 (1.1010x2(10)2) Błąd bezwzględny wynosi 0,25.

Błąd bezwzględny silnie zaleŜy od wielkości rozpatrywanej liczby

(9)

Met.Numer. wykład 1 17

• Przykład 1. W jaki sposób moŜna zapisać liczbę 256.78 na 5-ciu miejscach?

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

.

Jak moŜna zapisać najmniejszą liczbę w tym formacie?

0 0 .

0 0 0

Jak moŜna zapisać największą liczbę w tym formacie?

9 9 .

9 9 9

2 5 6 7 8

• Przykład 2. W jaki sposób moŜna zapisać liczbę 256.786 na 5-ciu miejscach?

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

9 7 .

6 5 2

zaokrąglenie (rounded off)

Wniosek: Błąd jest mniejszy niŜ 0.01

8 7 .

6 5 2

urwanie (chopped)

(10)

Met.Numer. wykład 1 19

Jaki błąd popełniamy?

Błąd bezwzględny

x − x o

Błąd względny

o o

x x x −

wielkość dokładna lub rzeczywista xo

Obliczenia:

% 001558 .

0

% 786 100

. 256

786 . 256 79 .

% 256

100 − × =

=

− ×

= ε

o o

t

x

x x

Jaki błąd popełniamy?

Względne błędy wielkości małych są duŜe.

Porównajmy:

% 001558 .

0

% 786 100

. 256

786 . 256 79 .

% 256

100 − × =

=

− ×

= ε

o o

t

x

x x

% 11280 . 0

% 546 100

. 3

546 . 3 55 .

% 3

100 − × =

=

− ×

= ε

o o

t

x

x x

Błędy bezwzględne są jednakowe:

004 . 0 55 . 3 546 . 3 79 . 256 786

.

256 − = − =

=

− x

o

x

(11)

Met.Numer. wykład 1 21

Jak utrzymać błędy względne na podobnym poziomie?

MoŜna przedstawić liczbę w postaci:

mantysa

wykł

znak × × 10

lub

znak × mantysa × 2

wykł

czyli

2 3 2

10 2.5678 jako

zapisujemy 256.78

10 3.678 jako

zapisujemy 0.003678

10 2.5678 jako

zapisujemy 256.78

×

× +

× +

Co zyskujemy stosując zapis zmiennoprzecinkowy?

mantysa wykładnik

Zwiększa się zakres liczb, które moŜemy zapisać JeŜeli uŜyjemy tylko 5 miejsc do zapisu liczby (dodatniej o dodatnim wykładniku) to najmniejsza liczba zapisana to 1 a największa 9.999—109.

Zakres moŜliwych do zapisania liczb zwiększył się od 999.99 do 9.999—109.

9 9 9 9 9

(12)

Met.Numer. wykład 1 23

Co tracimy stosując zapis zmiennoprzecinkowy?

mantysa wykładnik Dokładność (precyzję).

Dlaczego?

Wystąpi błąd zaokrąglenia.

Liczba 256.78 będzie przedstawiona jako 2.5678—102 i na pięciu miejscach:

2 8

6 5

2

Przykład do samodzielnego rozwiązania

mantysa wykładnik

2. Proszę oszacować błąd bezwzględny i względny zaokrąglenia 1. Proszę przedstawić liczbę 576329.78 na pięciu miejscach w podobny sposób jak w poprzednim przykładzie:

3. Porównać z przykładem poprzednim (256.78) i wyciągnąć wnioski

(13)

Met.Numer. wykład 1 25

Rozwiązanie przykładu do samodzielnego rozwiązania

mantysa wykładnik

2. Błąd bezwzględny przybliŜenia wynosi 29.78 a względny 0.0051672%

1. Liczba 576329.78 zapisana na pięciu miejscach:

3. Dla liczby 256.78 te błędy wynoszą odpowiednio: 0.02 (mniejszy) i 0.0077888% (porównywalny)

5 7 6 3 5

mantysa wykładnik

Przykład do samodzielnego rozwiązania

Mamy słowo 9-bitowe

pierwszy bit odpowiada znakowi liczby,

drugi bit – znakowi wykładnika,

następne cztery bity kodują mantysę,

ostatnie trzy bity zapisują wykładnik

znak liczby

znak wykładnika

mantysa wykładnik

0 0

1 0 1 1 1 0 1

Znajdź liczbę (w postaci dziesiętnej), która jest przedstawiona w podany sposób.

(14)

Met.Numer. wykład 1 27

Odpowiedź

( ) ( ) ( )

( ) ( )

2 2

5 2 2

10

101 1011

. 1

2 1011011 .

1 11

. 110110 75

. 54

×

×

=

=

0 0 1 0 1 1 1 0 1

nie jest zapisywane

Co to jest ε maszyny cyfrowej?

Dla kaŜdej maszyny cyfrowej definiuje się parametr epsilon ε określający dokładność obliczeń:

N

t

ε =

gdzie: N=2 (w zapisie dwójkowym), N=10 (w zapisie dziesiętnym), t jest liczbą bitów w mantysie liczby

ε jest tym mniejsze im więcej bitów przeznaczono na reprezentowanie mantysy M

Epsilon ε moŜna traktować jako parametr charakteryzujący dokładność obliczeniową maszyny (im mniejsze ε tym większa dokładność).

Podwójna precyzja (Fortran)

ε DP = ε 2

(15)

Met.Numer. wykład 1 29

Epsilon ε jest to najmniejsza liczba, która po dodaniu do 1.000 produkuje liczbę, którą moŜna przedstawić jako róŜną od 1.000.

Co to jest ε maszyny cyfrowej?

0 0 0 0 0 0 0 0 0 0

= ( ) 1

10

Przykład: słowo dziesięciobitowe

znak liczby

znak wykładnika

N

w

M x = ×

mantysa wykładnik

0 0 0 0 0 0 0 0 0 1

następna

liczba

= ( 1 . 0001 ) (

2

= 1 . 0625 )

10

2

4

1 0625 .

1 − =

=

mach

Pojedyncza precyzja w formacie IEEE-754

(Institute of Electrical and Electronics Engineers)

32 bity dla pojedynczej precyzji

0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0

znak (s) wykładnik (e’) mantysa (m)

( ) 1

2

2

' 127

)

1

( × . ×

=

s

m

e

iczba

L

(16)

Met.Numer. wykład 1 31

Przykład

( ) ( ) 1 1 .

2

2

' 127

Value = −

s

× m ×

e

( ) ( − 1

1

× 1 . 10100000 )

2

× 2

(10100010)2127

=

( ) ( − 1 × 1 . 625 ) × 2

162127

= = ( ) ( − 1 × 1 . 625 ) × 2

35

= − 5 . 5834 × 10

10

1 1 0 1 0 0 0 1 0 1 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0

Sign (s) Biased Exponent (e’)

Mantissa (m)

Wykładnik dla 32-bitowego standardu IEEE-754

255 0 ≤ e ′ ≤ 128

127 ≤ ≤

− e

8 bitów wykładnika oznacza

Ustalone przesunięcie wykładnika wynosi 127 a zatem

W istocie 1 ≤ e ′ ≤ 254

Liczby i są zarezerwowane dla przypadków specjalnych

= 0

e e ′ = 255

127 126 ≤ ≤

− e

Zakres wykładnika

(17)

Met.Numer. wykład 1 33

Reprezentacja liczb specjalnych

= 0

e same zera

= 255

e same jedynki

NaN róŜne od

same zera jedynki 0 lub 1

same zera same

jedynki 1

same zera same

jedynki 0

-0 same zera

same zera 1

0 same zera

same zera 0

Reprezentuje m

s

e ′

Format IEEE-754

Największa liczba

Epsilon maszyny cyfrowej

( 1 . 1 ... 1 )

2

× 2

127

= 3 . 40 × 10

38

( 1 . 00 ... 0 )

2

× 2

126

= 2 . 18 × 10

38

7 23 1 . 19 10 2

= ×

=

ε mach

Najmniejsza liczba

(18)

Met.Numer. wykład 1 35

Analiza błędów

JeŜeli nie znamy wielkości dokładnej x

o

moŜemy obliczać błąd bezwzględny przybliŜenia (ang.

approximate error) jako róŜnicę wartości uzyskanych w kolejnych przybliŜeniach :

1

n

n x

x

Błąd względny ε

a

:

n n n

a x

x x − 1

= ε

Dla

f ( x ) = 7 e

0.5x w

x = 2

znajdź

a)

f ′ ( 2 )

dla

h = 0 . 3

b)

h = 0 . 15

c) błąd przybliŜenia

h f x h

x x f

f (' ) ≈ ( + ) − ( ) 3

.

= 0 h

265 , 3 10

, 0 7 3 7

,

0,3) (2) 0

2 ) ( 2

(' ≈ f + − f = e0,5(2,3)− e0,5(2) = f

Przykład

) 2 (

f ′

dla

Rozwiązanie

a)

(19)

Met.Numer. wykład 1 37

b)

Przykład (cd) 15

.

= 0 h

880 , 15 9

, 0 7 15 7

,

0 , 15 ) ( 2 ) 0

2 ) ( 2

('

f

+ −

f

=

e

0,5(2,15)

e

0,5(2) =

f

c)

n n n

a

x

x x −

1

= ε

0389 , 8800 0

, 9

265 , 10 880 ,

9 − ≈ −

= ε

a

Błąd procentowy

3,89%

s a

≤ ε ε |

|

m a

| ≤ 0 . 5 × 10

2

ε

|

Błąd względny jako kryterium zakończenia procedury iteracyjnej

JeŜeli błąd względny jest mniejszy lub równy od pewnej określonej wcześniej liczby to dalsze iteracje nie są konieczne

JeŜeli wymagamy przynajmniej m cyfr znaczących w wyniku to

(20)

Met.Numer. wykład 1 39

0.3 10.265 N/A 0

0.15 9.8800 0.03894 3

0.10 9.7559 0.01271 3

0.01 9.5378 0.02286 3

0.001 9.5164 0.00225 4

h

f(2) εa

m

m a

| ≤ 0 . 5 × 10

2

ε

|

0,05

0,005

Podsumowanie przykładu

Wartość dokładna 9.514

)' 1 ( ' = x + ε x

czyli ε’=-0,0625 dla x=0,2 i ε’=0,04 dla a=6,25 Błąd względny ε’ jest określony jako:

Przykład:

MoŜna pokazać, Ŝe

dla dowolnej liczby x mieszczącej się w zakresie liczb objętych zapisem

ε ε' ≤

Tak jest równieŜ w rozwaŜanym przykładzie:

0625

,

0

2

ε =

4

=

(21)

Met.Numer. wykład 1 41

Źródła błędów w obliczeniach numerycznych

1. Błędy wejściowe (błędy danych wejściowych) 2. Błędy obcięcia (ang. truncation error)

3. Błędy zaokrągleń (ang. round off error)

Błędy wejściowe występują wówczas gdy dane wejściowe są wprowadzone do pamięci komputera odbiegają od dokładnych wartości tych danych.

Błędy obcięcia są to błędy wynikające z procedur numerycznych przy zmniejszaniu liczby działań.

Błędy zaokrągleń są to błędy, których na ogół nie da się uniknąć. Powstają w trakcie obliczeń i moŜna je zmniejszać ustalając umiejętnie sposób i kolejność wykonywania zadań.

Źródła błędów wejściowych:

• dane wejściowe są wynikiem pomiarów wielkości fizycznych

• skończona długość słów binarnych i konieczność wstępnego zaokrąglania

• wstępne zaokrąglanie liczb niewymiernych

Błędy wejściowe

PrzybliŜanie liczb, których nie moŜna wyrazić dokładnie dokonuje się poprzez:

• urywanie (ang. chopping)

• zaokrąglanie (ang. rounding)

(22)

Met.Numer. wykład 1 43

Przykład:

9 1415926535 ,3

≈ π

1416 ,3

≈ π

zaokrąglanie urywanie

1415 ,3

≈ π

Zaokrąglanie prowadzi do mniejszego błędu niŜ obcinanie.

Spowodowany jest uŜyciem przybliŜonej formuły zamiast pełnej operacji matematycznej:

• przy obliczaniu sum nieskończonych szeregów

• przy obliczaniu wielkości będących granicami (całka, pochodna)

Błąd obcięcia

=

=

2 1 2

1

x

x x

0 x x

Fdx x

F

W

lim

praca

(23)

Met.Numer. wykład 1 45

JeŜeli funkcja jest ciągła i wszystkie pochodne f’, f’’,…f

n

istnieją w przedziale [x, x+h] to wartość funkcji w punkcie x+h moŜna obliczyć jako:

Szereg Taylora

( ) ( ) ( ) ( ) ( )

+ L + ′′′

+ ′′

+ ′

=

+ h f x f x h f 2 ! x h

2

f 3 ! x h

3

x

f

( + ) ( ) = + ( ) + ′′ ( ) + ′′′ ( ) 0 3 ! + L +

! 0 2 0

0

0 h f f h f h

2

f h

3

f

Szereg Maclaurina jest to rozwinięcie wokół x=0

Typowe rozwinięcia w szereg wokół zera

+ L

− +

= 1 2 ! 4 ! 6 ! )

cos( x

2

x

4

x

6

x

+ L

− +

= 3 ! 5 ! 7 ! )

sin( x

3

x

5

x

7

x

x

+ L +

+ +

= 1 2 ! !3

3

2

x

x x e

x

Przykłady

(24)

Met.Numer. wykład 1 47

Błąd obcięcia w szeregu Taylora

( ) ( ) ( ) ( )

( )

( ) R ( ) x

n x h h f

x f h x f x f h x

f

+ = + ′ +

'' 2

2

!

+

L

+ n n

!

+ n

reszta

( ) f

( )

( ) c n h

x

R

n n 1 n 1

)!

1

(

+

+

= +

h x c x < < +

Przykład

Rozwinięcie w szereg ex wokół x=0

+ L +

+ + + +

= 1 x 2 !

2

x 3 !

3

x 4 !

4

x 5 !

5

x

e

x

Im większa ilość wyrazów jest uwzględniana w

rozwinięciu, tym błąd obcięcia jest mniejszy i moŜemy znaleźć tym dokładniejszą wartość wyraŜenia

Pytanie: Ile naleŜy uwzględnić wyrazów aby otrzymać przybliŜoną wartość liczby e z błędem mniejszym niŜ 10-6?

120 1 24

1 6 1 2

2

+

1

+ + +

+ L + + + + +

= 5 !

1

! 4 1

! 3 1

! 2 1 1 1

5 4 3 1 2

e

(25)

Met.Numer. wykład 1 49

e

x

x f h

x = 0 , = ,1 ( ) =

( ) ( ) f

( )

( ) c R

n

n

n 1

1 !

n 1

0 1

+ +

= +

( ( ) )

c

n

n 1 ! e 1

1

= +

+

ale x < c < x + h

1 0 0 < c < +

1 0

<

c

<

( ) 0 ( 1 )!

)!

1 ( 1

< +

+ < n

R e

n

n

Rozwiązanie

( ) f

( )

( ) c n h

x

R

n n 1 n 1

)!

1

(

+

+

= +

10

6

)!

1 (

<

+ n

e

e n 1 )! 10

6

( + >

3 10 )!

1

( n + >

6

× 9 n ≥

Rozwiązanie

załoŜony poziom błędu

Co najmniej 9 wyrazów musimy zastosować aby otrzymać wartość błędu na poziomie 10-6

(26)

Met.Numer. wykład 1 51

Wnioski z dotychczasowych rozwaŜań

• W wielu przypadkach moŜna uniknąć błędów wejściowych i błędów obcięcia.

• W trakcie obliczeń pojawiają się nowe błędy (błędy zaokrągleń), których nie da się uniknąć.

• Błędy zaokrągleń moŜna zmniejszyć ustalając umiejętnie sposób i kolejność wykonywania działań.

Przykład tragicznego błędu zaokrąglenia

25 lutego 1991 w Dhahran, Arabia Saudyjska, zginęło 28 amerykańskich Ŝołnierzy w wyniku ataku irackiej rakiety Scud.

System obrony Patriot nie wykrył zagroŜenia. Dlaczego?

System oblicza powierzchnię, którą powinien skanować na podstawie prędkości obiektu i czasu ostatniej detekcji. Zegar wewnętrzny był ustawiony na pomiar co 1/10 sekundy. Długość słowa 24 bity. Z powodu zaokrągleń błąd bezwzględny wyniósł 9.5 10-8 s a po 100 godzinach:

Przesunięcie obliczone na tej podstawie 687 m. Obiekt jest uznany poza zakresem gdy przesunięcie wynosi 137 m

sec 34 . 0 100 60

60 10 10

5 .

9 ⋅

8

× × × × =

(27)

Met.Numer. wykład 1 53

Błędy zaokrągleń powstające podczas wykonywania działań zmiennopozycyjnych są równowaŜne

zastępczemu zaburzaniu liczb, na których wykonujemy działania.

Lemat Wilkinsona

Dla pojedynczych działań arytmetycznych

: ) 1 ( ) 1 ( )

( x

1

± x

2

= x

1

+ ε

1

± x

2

+ ε

2

fl

) 1 ( )

1 ( )

( x

1

⋅ x

2

= x

1

+ ε

3

⋅ x

2

= x

1

⋅ x

2

+ ε

3

fl

)) 1 ( /(

/ ) 1 ( ) /

( x

1

x

2

= x

1

+ ε

4

x

2

= x

1

x

2

+ ε

5

fl

ε

≤ ε

i symbol działania wykonanego na danych

zmiennopozycyjnych

Działania arytmetyczne 1. Dodawanie i odejmowanie

Aby dodać lub odjąć dwie znormalizowane liczby w zapisie zmiennoprzecinkowym, wykładniki w powinny być zrównane poprzez odpowiednie przesunięcie mantysy.

Przykład: Dodać 0,4546·10

5

do 0,5433·10

7

0,0045·10

7

+0,5433 ·10

7

=0,5478 ·10

7 przesuwamy

Wniosek: Tracimy pewne cyfry znaczące

(28)

Met.Numer. wykład 1 55

Działania arytmetyczne

Zamiast interpretować powstały błąd jako wyniki zaokrąglania (urwania), które nastąpiło podczas przeskalowania (zmiany wykładników) składników, moŜna przyjąć w myśl lematu Wilkinsona, Ŝe samo działanie zostało wykonane dokładnie (bez błędu), ale na zmienionych trochę składnikach.

W tym przykładzie:

Wynik dokładny: 0,547846

—

10-7 Wynik przybliŜony: 0,5478

—

10-7

Błąd względny sumy: 0,00008 jest mniejszy niŜ ε=10-4 Ten sam wynik otrzymamy gdy dodamy np. 0,4546·105do

0,543254·107 (składnik zaburzony)

Działania arytmetyczne

2. MnoŜenie

MnoŜymy mantysy i wykładniki w dodajemy.

Przykład: PomnoŜyć 0,5543·10

12

przez 0,4111·10

-15

0,5543·10

12

·0,4111 ·10

-15

=0,2278273 ·10

-3

=0,2278·10

-3

Za kaŜdym razem tracimy pewne cyfry znaczące co jest źródłem błędu

3. Dzielenie

Przykład: Podzielić 0,1000·10

5

przez 0,9999·10

3

0,1000·10

5

/0,9999 ·10

3

=0,1000 ·10

2

(29)

Met.Numer. wykład 1 57

Kolejność działań

(a+b)-c≠(a-c)+b brak przemienności, łączności a(b-c) ≠(ab-ac) brak rozdzielności mnoŜenia względem dodawania

Przykład: a= 0,5665·10

1

, b=0,5556·10

-1

, c=0,5644·10

1

(a+b)=0,5665·10

1

+0,5556·10

-1

=0,5665·10

1

+0,0055·10

1

=0,5720·10

1

(a+b)-c=0,5720·10

1

-0,5644·10

1

=0,7600·10

-1

(a-c)=0,5665·10

1

-0,5644·10

1

=0,0021·10

1

=0,2100·10

-1

(a-c)+b=0,2100·10

-1

+0,5556·10

-1

=0,7656·10

-1

0 2 4

0 20 40 60 80 100 120 140

y

x

u(y)

u(x) funkcja y = f(x)

styczna

dy/dx u ( x ) dx dy ) y (

u =

Propagacja błędów

(30)

Met.Numer. wykład 1 59

Metoda róŜniczki zupełnej

Dla wielkości złoŜonej y=f(x1,x2,...xn) gdy niepewności maksymalne ∆x1 , ∆x2 , ... ∆xn są małe w porównaniu z wartościami zmiennych x1,x2, ... xn niepewność maksymalną wielkości y wyliczamy z praw rachunku róŜniczkowego:

n n

x x x y

x x y

x

y y ∆

∂ + ∂ +

∂ ∆ + ∂

∂ ∆

= ∂

2

...

1 2 1

Oszacować błąd pomiaru gęstości ρ kuli o masie m i promieniu R

π

3

) 3 4 ) ( ,

( R

R m

m =

ρ

R R

m m ∆

∂ + ∂

∂ ∆

= ∂

∆ ρ ρ ρ

( ) 4 3 1 π R

3

m =

∂ ρ

błąd bezwzględny

błąd względny

Przykład

ale

R ( ) 4 3 3 π R

4

= −

∂ ρ

R

m ε

ε

ε ρ = + 3

(31)

Met.Numer. wykład 1 61

Błąd sumy

A = a ± ∆ a

błędy bezwzględne składników sumy

Błędy działań arytmetycznych

Zatem błąd bezwzględny sumy (róŜnicy) jest równy sumie błędów składników.

b b B = ± ∆

) ( b a b

a b a b a B

A + = + ± ∆ ± ∆ = + ± ∆ +

błąd bezwzględny sumy

b a b

a ± = ∆ + ∆

∆ ( )

b a

b a

b

a

+

∆ +

= ∆ ε

+

Błąd względny róŜnicy Błąd względny sumy

Błędy działań arytmetycznych

Błąd względny róŜnicy moŜe być duŜy nawet gdy błędy względne odjemnej i odjemnika są małe. NaleŜy unikać odejmowania prawie równych liczb przybliŜonych!

b a

b a

b

a

∆ +

= ∆ ε

Zjawisko zwane redukcją cyfr znaczących

Szczególnie istotne przy obliczeniach ilorazów róŜnicowych przybliŜających pochodne funkcji, pierwiastków równania kwadratowego przy dominującym współczynniku przy

(32)

Met.Numer. wykład 1 63

Tracimy dokładny sens liczby 0 jeśli dokonujemy obliczeń numerycznych

Koncepcja zera

0 2

2

+ 2 x − = x

pierwiastkami są 1 ± 3

Sprawdzić, Ŝe po podstawieniu rozwiązań przybliŜonych nie otrzymujemy dokładnie liczby zero

0,7320·10o -0.2732 ·101

w przybliŜeniu

Powinno się zatem unikać odejmowania bliskich sobie liczb i warunek w pętli nie powinien być ustawiany „do zera”,

if a-b<ε

Wnioski praktyczne

• ponowne rozwiązanie tego samego zagadnienia inną metodą lub taką samą metodę, ale z inną

kolejnością operacji

• ponowne rozwiązanie zagadnienia przy nieznacznej zmianie danych wejściowych

Przy obliczeniach numerycznych korzystne jest:

(33)

Met.Numer. wykład 1 65

Zadania i algorytmy numeryczne

• Zadanie numeryczne wymaga jasnego i

niedwuznacznego opisu powiązania funkcjonalnego między danymi wejściowymi czyli „zmiennymi niezaleŜnymi” zadania i danymi wyjściowymi

,

tj.

szukanymi wynikami.

• Zadanie numeryczne jest problemem polegającym na wyznaczeniu wektora wyników w na podstawie wektora danych a

a

D w

odwzorowanie

W

zadanie dobrze postawione

) (a w r r

= W

jednoznaczne przyporządkowanie

Zadania i algorytmy numeryczne

• Algorytm numeryczny jest pełnym opisem poprawnie określonych operacji przekształcających wektor

dopuszczalnych danych wejściowych (zbiór DN) na wektor danych wyjściowych.

• Algorytm jest poprawnie sformułowany gdy liczba niezbędnych działań będzie skończona

a

DN w

odwzorowanie

WN

) , ( ε

= a

w WN

wektor wyniku zaleŜy od dokładności obliczeniowej ε maszyny cyfrowej

∩ D

DN

(34)

Met.Numer. wykład 1 67

Przykłady algorytmów

Dana jest liczba zespolona a=x+iy. Obliczyć 1/a2 Algorytm I:

1.

2.

3.

x y t = /

2 2 2

y x a = +

(tangens fazy liczby a)

(kwadrat modułu liczby a) 2

2 2

2 1

1 1 Re 1

t t a

a +

= −



 

2 2 2

2 1

2 1 Im 1

t t a

a +

= −



 

Zadanie jest dobrze postawione, jeŜeli:

x

2

+ y

2

≠ 0

{ ( 0 , 0 ) }

2

=

R

czyli:

D

Algorytm jest poprawnie sformułowany (11 niezbędnych działań)

Przykłady algorytmów

Nie dla kaŜdej pary danych (x,y)≠0 moŜna znaleźć rozwiązanie zadania stosując algorytm I.

1. Wystąpi nadmiar liczb zmiennopozycyjnych (dla x=0 ale takŜe z powodu zaokrąglenia do zera)

2. Nadmiar moŜe nastąpić moŜe juŜ w pierwszym kroku gdy x=10-25 i y=1025 z powodu dzielenia y/x 3. Dla x=0, istniejącego dla y≠0 rozwiązania nie moŜna wyznaczyć stosując ten algorytm. Wzrost dokładności obliczeń nie zmieni tego faktu.

Algorytm I nie jest numerycznie stabilny

(35)

Met.Numer. wykład 1 69

Przykłady algorytmów

Dana jest liczba zespolona a=x+iy. Obliczyć 1/a2 Algorytm II:

1.

2.

2 2

2 2 2

Re 1

y x

y x

r a +

= −



 

= 

2 2

2 2

Im 1

y x

xy u a

+

= −



 

= 

Algorytm II jest poprawnie sformułowany (9 niezbędnych działań)

Algorytm II jest numerycznie stabilny co wynika z ciągłości wzorów dla x2+y2≠0

Schemat Hornera

Przykład wzoru rekurencyjnego Aby obliczyć wartość wielomianu:

w danym punkcie z, korzystamy ze schematu:

n n

n

n

a x a x a

x x

p ( ) = +

1 1

+ ... +

1

+

1

1

z a

p = +

2 1

2

zp a

p = +

n n

n

zp a

p =

−1

+ p

n

z p ( ) =

co odpowiada obliczaniu wartości wyraŜenia:

[ ]

{ z z z a a a

n

} a

n

z ...( +

1

) +

2

+ ... +

−1

+

(36)

Met.Numer. wykład 1 71

Schemat Hornera

Schemat Hornera umoŜliwia znaczne zmniejszenie liczby działań arytmetycznych.

W schemacie Hornera wykonujemy n-1 mnoŜeń i n dodawań.

o

n

z a

a z

z a z

zz ... +

1

... + ... +

−1

+

Obliczając bezpośrednio:

n razy n-1 razy

wykonujemy (n-1)(n+2)/2 mnoŜeń i n dodawań.

Oszacowanie wielkości błędów zaokrągleń jest identyczne dla obu metod

Schemat Hornera

Przykład: oblicz

w schemacie Hornera

Zadanie: Oblicz p(8) dla p(x)=2x3+x+7 dla obliczeń ręcznych:

3 2 2 1 3

)

0

( z a z a z a z a

p = + + +

3 2 1

0

) )

((

)

( z a z a z a z a

p = + + +

b3

b2

b1

b0

zb2 zb1 zb0

a3 a2 a1 a0

p(z)=b3

1039 129

16 2

1032 128

16

7 1 0 2

p(8)=1039

(37)

Met.Numer. wykład 1 73

Schemat blokowy

b:=a

0

i:=0

i:=i+1 b:=a

i

+zb

i=n?

tak

wyjście

nie

Uwarunkowanie zadania i stabilność algorytmów

Algorytm obliczeniowy jest numerycznie stabilny, jeŜeli dla dowolnie wybranych danych

D a

0

istnieje taka dokładność obliczeń ε0, Ŝe dla ε<ε0mamy

) DN(

a

0

∈ ε

oraz

lim

0

WN ( a

0

, ε ) = W ( a

0

)

ε

Algorytm obliczeniowy jest numerycznie stabilny wtedy, gdy zwiększając dokładność obliczeń moŜna wyznaczyć ( z dowolną dokładnością) dowolne istniejące rozwiązanie zadania.

(38)

Met.Numer. wykład 1 75

Uwarunkowanie zadania i stabilność algorytmów

Z powodu błędu zaokrągleń

Zgodnie z lematem Wilkinsona moŜna dobrać zaburzone dane

D a a + δ ∈

Ŝe

) ( ) ,

( a W a WN ε ≠

Wielkość zastępczego zaburzenia

) (

) ,

( a ε = W a + δ a WN

zaleŜy od:

δ a

-wektora danych a

-liczby wykonywanych działań -dokładności obliczeń

Uwarunkowanie zadania i stabilność algorytmów

Na podstawie lematu Wilkinsona:

gdy

a) W(a + δ

Uwarunkowaniem zadania nazywamy cechę, która mówi jak bardzo wynik dla zaburzonego wektora danych róŜni się od wyniku dla dokładnego wektora danych czyli:

→ 0 δ

a a

→ 0 ε

W(a)

Wskaźnik uwarunkowania zadania B(a) jest to liczba, dla której jest spełniony warunek:

a δ a δ ≤

) (a w B

w

δw=WN(a,ε)−W(a)

(39)

Met.Numer. wykład 1 77

• Przyjmijmy względny błąd wielkości x

Wskaźnik uwarunkowania zadania

x x x

~

− ~

• Względny błąd wielkości f(x)

~ ) ( ~ )

~ )(

) (' ( ~ ( ~ ) )

( f x f x x x

x f f x x

f − ≈ −

• Wskaźnik uwarunkowania:

~ ) ( (' ~ )

~ x f f x x

• Przykład

Wskaźnik uwarunkowania zadania

x x

f ( ) =

• Wskaźnik uwarunkowania:

2 1 2

~ ) ( (' ~ )

~ = =

x x x x

f f x x

zadanie dobrze uwarunkowane

(40)

Met.Numer. wykład 1 79

• Przykład

Wskaźnik uwarunkowania zadania

1

2

) 10

( x x

f = −

• Wskaźnik uwarunkowania:

2 2

1 ) 2 ( (' ~ ~ )

~

x x x

f f x x

= −

zadanie źle uwarunkowane w pobliŜu x=1 i x=-1

Cytaty

Powiązane dokumenty

Michał Pazdanowski Pazdanowski.. Value Value = ”Zespolone” = ”Zespolone”. End Select End Select

Wieża była budowana ponad 200 lat i już w czasie budowy uległa przechyleniu; zapewne rozważano możliwość jej rozbiórki, ale ostatecznie dokonano korekty jej kształtu w okolicach

Kształtowanie umiejętności korzystania ze współczesnych narzędzi komunikacji dźwiękowej, wizualnej i audiowizualnej oraz technologii informacyjnej do realizacji własnych

W rozdziale 3 analizujemy stabilność badanego algorytmu, podajemy oszacowania błędu względnego obliczonych kwadratur.. Rozważamy modyfi- kacje oszacowań błędów przy

Praca zbiorowa, Matematyka 2001 zeszyt ćwiczeń dla 4 klasy szkoły podstawowej, WSiP, Warszawa 2005.. Nauczyciel prosi uczniów o przypomnienie jakie znają działania, które wykonywali

Prosi każdego, kto utrwalił sobie kolejność wykonywania działań i będzie umiał samodzielnie rozwiązać zadania domowe, o wpisanie swojego imienia na wstęgę z napisem

Niebawem mija również pra w ie rok od wyborów samorządo wych i dlatego należałoby rów nież zastanowić się nad dotych czasowym dorobkiem naszych władz

TRENING PRZED KARTKÓWKĄ (kolejność wykonywania działań) – klasa