B.Szyszka
Metody numeryczne w
technice
1
Metody numeryczne
w technice
dr inż. Barbara Szyszka
www.math.put.poznan.pl/~bszyszka
Instytut Matematyki
Zakład Analizy Funkcjonalnej i Numerycznej
Wydział Elektryczny Politechniki Poznańskiej,
e-mail:
Kształcenie w zakresie matematyki
Algebra macierzy. Rozwi_zywanie układów algebraicznych
równa_ liniowych. Rachunek ró_niczkowy i całkowy funkcji jednej i
wielu zmiennych.
Równania ró_niczkowe zwyczajne. Wst_p do równa_ ró_niczkowych
cz_stkowych.
Efekty kształcenia – umiej_tno_ci i kompetencje: modelowania i
obliczania zło_onych
układów mechanicznych z wykorzystaniem metod numerycznych.
B.Szyszka
Metody numeryczne w
technice
2
B.Szyszka
Metody numeryczne w
technice
3
Metody numeryczne
w technice
Organizacja przedmiotu:
• wykład
,
• ćwiczenia
.
B.Szyszka
Metody numeryczne w
technice
4
Zakres materiału:
• arytmetyka zmiennopozycyjna,
• interpolacja wielomianowa,
• całkowanie numeryczne,
• równania nieliniowe,
• układy równań liniowych,
• (równania różniczkowe, układy równań
nieliniowych,
aproksymacja).
B.Szyszka
Metody numeryczne w
technice
5
Literatura:
• Björck, Dahlquist, Metody numeryczne PWN
Warszawa,
• Dryja, Jankowska, Jankowski, Przegląd metod
i algorytmów numerycznych, WNT,
• Fortuna, Macukow, Wąsowski, Metody
numeryczne WNT,
• Kincaid, Cheney, Analiza numeryczna, WNT
2005,
• Stoer, Bulirsch, Wstęp do analizy
numerycznej PWN Warszawa,
B.Szyszka
Metody numeryczne w
technice
6
Wykład nr 1/2
1. Arytmetyka zmiennopozycyjna
• Reprezentacje zmiennopozycyjne liczb
• Liczby rzeczywiste i liczby maszynowe
• Działania arytmetyczne na liczbach
zmiennopozycyjnych,
2. Błędy numeryczne,
3. Algorytmy stabilne i niestabilne.
Uwarunkowanie zadań.
B.Szyszka
Metody numeryczne w
technice
7
1. Arytmetyka zmiennopozycyjna
2
7
6
5
4
3
2
1
0
2
5
4
3
2
1
0
1
2
10
5
4
3
2
1
10
0
1
2
10
10
)
10
5
10
2
10
1
10
8
10
7
10
6
10
2
10
4
(
10
2678125
.
4
10
5
10
2
10
1
10
8
10
7
10
6
10
2
10
4
78125
.
426
10
5
10
2
10
1
10
8
10
7
0.78125
10
6
10
2
10
4
426
Układ dziesiętny.
B.Szyszka
Metody numeryczne w
technice
8
8
13
12
11
10
9
8
7
6
5
4
3
2
1
0
8
5
4
3
2
1
0
1
2
3
4
5
6
7
8
2
5
4
3
2
1
2
0
1
2
3
4
5
6
7
8
2
2
)
2
1
2
0
2
0
2
1
2
1
2
0
2
1
2
0
2
1
2
0
2
1
2
0
2
1
2
1
(
2
001
1010101011
.
1
2
1
2
0
2
0
2
1
2
1
2
0
2
1
2
0
2
1
2
0
2
1
2
0
2
1
2
1
11001
.
110101010
)
0.78125
0.03125
25
.
0
5
.
0
(
2
1
2
0
2
0
2
1
2
1
0.11001
)
426
2
8
32
128
256
(
2
0
2
1
2
0
2
1
2
0
2
1
2
0
2
1
2
1
110101010
Układ dwójkowy
B.Szyszka
Metody numeryczne w
technice
9
Przy konwersji liczb pomiędzy układami mogą
pojawić się błędy, np.:
10
2
2
10
59375
0.09997558
0011...
0011
0011
0.0
0011...
0011
0011
0.0
1
.
0
Zamiana liczb z układu dziesiętnego na binarny:
23
10
=10111
2
(liczbę dzielimy przez dwa, zapisujemy resztę z
każdego dzielenia i odczytujemy od końca),
0.8125
10
=0.1101
2
(liczbę mnożymy przez dwa, zapisujemy część
całkowitą
z każdego mnożenia i odczytujemy od początku).
B.Szyszka
Metody numeryczne w
technice
10
23
11
5
2
1
0
1
1
1
0
1
:2
0.8125
0.625
0.25
0.5
0
0.
1
1
0
1
·2
23
10
=10111
2
0.8125
10
=0.1101
2
75
.
13
25
.
0
5
.
0
1
4
8
2
1
2
1
2
1
2
0
2
1
2
1
1101.11
-2
-1
0
1
2
3
2
B.Szyszka
Metody numeryczne w
technice
11
8765
.
0
8765432
.
0
0000
.
1
9999500
.
0
1735
.
0
1735499
.
0
Zaokrąglanie
Sposób zaokrąglania liczby y do n-cyfr zależy od
(n+1)-szej cyfry. Jeżeli jest nią 0, 1, 2, 3, 4 to n-
tej cyfry nie zmieniamy. Jeśli (n+1)-szą cyfrą jest
5, 6, 7, 8, 9 to po odrzuceniu cyfr jak wyżej
dodajemy do liczby 10
-n
.
Przykład poprawnego zaokrąglenia liczb 7-
cyfrowych
do
4-cyfr po kropce:
Jeśli liczba dodatnia x jest zaokrąglona do
przybliżenia
x* mającego n-cyfr po kropce, to
.
10
2
1
*
n
x
x
B.Szyszka
Metody numeryczne w
technice
12
± m
0
m
-1
m
-2
… m
-lm+1
± c
lc-1
… c
1
c
0
gdzie mantysę M i cechę C obliczamy ze wzorów:
1
1
1
1
0
0
lm
lm
p
m
p
m
p
m
M
1
1
1
1
0
0
lc
lc
p
c
p
c
p
c
C
a liczbę można przedstawić następująco:
C
p
M
L
Reprezentacje zmiennopozycyjne liczb –
liczby maszynowe – arytmetyka fl (p, lm, lc)
lm
lc
Precyzja arytmetyki w komputerze:
1
2
lm
B.Szyszka
Metody numeryczne w
technice
13
± m
0
m
-1
m
-2
± c
0
Przykład f(10,2,1)
Charakterystyka przedstawienia liczb
w arytmetyce fl:
•Czy zbiór liczb w arytmetyce f jest zbiorem
ciągłym?
•Czy można podać najmniejszą i największą
liczbę?
•Jakich liczb nie można przedstawić?
•Czy ilość liczb jest nieograniczona?
•Jakie są odległości pomiędzy liczbami?
B.Szyszka
Metody numeryczne w
technice
14
Rodzaje zaokrągleń w komputerze:
•Obcięcie,
•Zaokrąglenie w górę,
•Zaokrąglenie w dół,
•Zaokrąglenie do najbliższej liczby parzystej.
Gdy liczbę rzeczywistą x przybliżamy inną liczbą
x*,
to
błąd
bezwzględny i względny tego przybliżenia są z
definicji równe
*
x
x
błąd względny dla x ≠ 0
x
x
x
*
błąd bezwzględny
W pomiarach niemal zawsze jest istotny błąd względny.
B.Szyszka
Metody numeryczne w
technice
15
Błędy numeryczne
•błędy danych wejściowych
mogą pochodzić np. z niedokładnych pomiarów,
lub
z wcześniejszych
obliczeń,
również
obarczonych błędami,
•błędy reprezentacji danych
wprowadzając dane x
i
(w układzie 10) uzyskuje
się
ich
reprezentacje
maszynowe
f(x
i
)
(najczęściej w układzie 2), które należą do zbioru
liczb maszynowych (jest to podzbiór liczb
rzeczywistych
dokładnie
reprezentowanych
w komputerze) ,
B.Szyszka
Metody numeryczne w
technice
16
•błędy zaokrągleń działań
Wykonując na liczbach x i y operację
arytmetyczną , gdzie {+, -, *, /} otrzymujemy
f(x y)=(x y)(1+ ε).
Jest to wynik zmiennoprzecinkowego działania
dla argumentów a i b, w tym przypadku
dokładnie reprezentowanych, tzn. a=f(a) i
b=f(b). Wartość ε (precyzja arytmetyki) spełnia
nierówność |ε|≤2
-t
, gdzie t oznacza liczbę bitów
przeznaczonych do zapisu mantysy w danym
typie zmiennoprzecinkowym.
•błąd metody
Metody
numeryczne,
za
pomocą
których
wykonywane są obliczenia, bardzo często są
metodami przybliżonymi (stąd błąd metody). Nie
dotyczy to metod dokładnych.
B.Szyszka
Metody numeryczne w
technice
17
Algorytmy stabilne i niestabilne.
Uwarunkowanie.
•algorytm niestabilny
Małe błędy popełnione w jakimś etapie obliczeń
rosną
w następnych etapach i poważnie zniekształcają
ostateczne wyniki
•uwarunkowanie
Zadanie jest źle uwarunkowane, jeśli małe
zmiany danych początkowych wywołują duże
zmiany wyników (inaczej: wrażliwość
rozwiązania zadania na małe zmiany danych
początkowych).
B.Szyszka
Metody numeryczne w
technice
18
Przykład:
W arytmetyce f(10, 2, 1) obliczyć iloczyn
trzech liczb dwoma sposobami:
1. a · b · c
2. b · c · a
dla a =10
-6
, b=10
-6
, c=10
9
.
Czy działania 1. i 2. są równoważne
numerycznie?
B.Szyszka
Metody numeryczne w
technice
19
Ćwiczenie:
Dana jest całka:
1
0
1
dx
e
x
J
x
n
n
Dokładne wartości całki wynoszą odpowiednio
(przy
zaokrągleniu do 2 cyfr):
dla n = 1, 2, …, 7.
Obliczyć wartości tej całki w arytmetyce f(10, 2,
1) korzystając z przekształcenia:
0.11
0.13,
0.14,
0.17,
0.20,
0.26,
0.37,
7
6
5
4
3
2
1
J
J
J
J
J
J
J
1
1
1
11
0.36787944
1
n
n
J
n
J
e
J
8.6
,
1
,
34
.
0
,
13
.
0
,
21
.
0
,
26
.
0
0.37,
-39.6
,
8
.
5
0.8,
,
36
.
0
,
6
1
.
0
0.28,
0.36,
7
6
5
4
3
2
1
7
6
5
4
3
2
1
J
J
J
J
J
J
J
J
J
J
J
J
J
J