Mariusz PYRZ
SIMR (PW), Instytut Pojazdów
Metody numeryczne w mechanice
Wprowadzenie de oblicze
ń
numerycznych
1.
Metody numeryczne
Dokładne rozwiązania analityczne wielu problemów mechaniki są trudne
(lub niemoŜliwe) do uzyskania.
Metody numeryczne zajmują się analizą sposobów rozwiazywania
problemów matematycznych za pomocą działań arytmetycznych oraz
doborem takich procedur
(i ich zastosowaniem)
które są najbardziej
odpowiednie do rozwiązania rozwaŜanego problemu.
M.Pyrz Metody numeryczne w mechanice - Wprowadzenie 10.2011
2
odpowiednie do rozwiązania rozwaŜanego problemu.
Analiza numeryczna zajmuje się badaniem metod umoŜliwiających
wyznaczanie numeryczne wartości liczbowej oraz wartości funkcji.
W mechanice dotyczy to problemów modelowania i projektowania,
opracowywania wyników eksperymentalnych, …
Znajomość numeryczna wartości liczbowej
Liczbę uwaŜamy za „znaną” numerycznie jeśli dysponujemy jej zapisem w
dziesiętnym systemie liczbowym , np.
(tzn., jeŜeli znamy pewną liczbę cyfr opisujących rozwinięcie dziesiętne
e
=
±
−
2 7183 10
4
,
3
(tzn., jeŜeli znamy pewną liczbę cyfr opisujących rozwinięcie dziesiętne
oraz znamy dokładność z jaką to rozwinięcie jest podane)
Niektóre liczby rzeczywiste będą traktowane jako „dobrze znane” poniewaŜ moŜna
znaleźć ich przybliŜoną wartość z wymaganą dokładnością (np. w tablicach)
2
3
,
, ,
π
e
M.Pyrz Metody numeryczne w mechanice - Wprowadzenie 10.2011
Znajomość numeryczna funkcji
Funkcję traktujemy jako znaną numerycznie jeŜeli moŜna obliczyć jej
wartość* w kaŜdym punkcie dziedziny określoności funkcji.
*) w sensie znajomości numerycznej wartości liczbowej
tj. podania wartości przybliŜonej i wskazania jej dokładności
4
M.Pyrz Metody numeryczne w mechanice - Wprowadzenie 10.2011
Liczba cyfr znaczących
(wyznacza granicę błędu)
Niech x będzie liczbą rzeczywistą, której rozwinięcie dziesiętne jest w
ogólnym przypadku nieskończone.
x = 4 1 2 8 , 4 5 0 6 7
3 2 1 0 -1 -2 -3 … -d
numery cyfr
Liczba x jest poprawnie zaokrąglona do pozycji d (co oznaczymy
Przykłady:
Uwaga: moŜna wybrać zaokrąglenie do wartości wyŜszej lub niŜszej
Z zasady zaokrągla się zawsze do wartości wyŜszej albo zawsze do wartości niŜszej
5
Liczba x jest poprawnie zaokrąglona do pozycji d (co oznaczymy
symbolem x
(d)
) jeśli błąd zaokrąglenia wynosi
ε
= −
≤
x
x
d
d
( )
1
2
10
x
x
x
=
=
=
−
−
6 74 3 9 9 6 66
6 7 4 4
6 7 43 9 9 6 7
3
7
.
.
.
(
)
(
)
M.Pyrz Metody numeryczne w mechanice - Wprowadzenie 10.2011
Równania nieliniowe i ich układy
Wyznaczyć
x
x
Poszukiwanie wartości liczbowych
– przykłady problemów
( )
0
f x
=
f(x) = 0
Układy równań liniowych
Wyznaczyć
A – dana macierz kwadratowa rzędu n,
- dany wektor
6
x
∈
R
n
Ax
b
=
b
∈
R
n
M.Pyrz Metody numeryczne w mechanice - Wprowadzenie 10.2011
Interpolacja
Wyznaczyć
Aproksymacja
Poszukiwanie wartości liczbowych
– przykłady problemów
,
0,
,
i
a
R i
n
∈
=
…
2
0
1
2
( )
...
n
n
n
P x
a
a x
a x
a x
= +
+
+ +
( )
m
f x
a
ϕ
=
∑
Aproksymacja
Wyznaczyć
- dane funkcje
7
M.Pyrz Metody numeryczne w mechanice - Wprowadzenie 10.2011
0
( )
j
j
j
f x
a
ϕ
=
=
∑
,
0,
,
j
a
R
j
n
∈
=
…
j
ϕ
Wartości własne
Wyznaczyć
Wektory własne
Poszukiwanie wartości liczbowych
– przykłady problemów
λ
∈
C
Ax
x
=
λ
x
0
≠
Ax
x
=
λ
Wyznaczyć
8
x
∈
R
n
M.Pyrz Metody numeryczne w mechanice - Wprowadzenie 10.2011
Poszukiwanie wartości liczbowych
– przykłady problemów
Całkowanie numeryczne
2
2.7
1
1
2
2
2
(
)
x
D
e
dx
x
y dxdy
α
α
−
=
=
+
∫
∫∫
9
Minimalizacja funkcji
Znaleźć takie
aby
2
1,...,
sup
(
)
min
i
i
i
i
n
y
ax
bx
c
ω
=
=
−
+
+
→
a b c
R
, ,
∈
M.Pyrz Metody numeryczne w mechanice - Wprowadzenie 10.2011
Poszukiwanie wartości funkcji
– przykłady problemów
Równania róŜniczkowe zwyczajne
Problem warunków początkowych
Wyznaczyć y tak, aby
( )
( , ( ))
[ , ],
( )
y x
f x y x
x
a b
y a
α
′
=
∈
=
10
Problem wartości granicznych
Wyznaczyć y tak, aby
M.Pyrz Metody numeryczne w mechanice - Wprowadzenie 10.2011
( )
( , ( ),
( ))
[ , ],
( )
,
( )
y x
f x y x y x
x
a b
y a
y b
α
β
′′
′
=
∈
=
=
Poszukiwanie wartości funkcji
– przykłady problemów
Równania róŜniczkowe cząstkowe
Problem Dirichleta
Dany jest zbiór otwarty
i jego „brzeg” .
Wyznaczyć u tak, aby
Ω
( )
( )
( )
u x
u x
f x
w
λ
−∆
+
=
Ω
Γ
11
Wyznaczyć u tak, aby
dane lub do wyznaczenia (wtedy jest to zagadnienie na wartości własne)
- operator róŜniczkowy, - znane funkcje
( )
( )
( )
( )
( )
u x
u x
f x
w
u x
x
na
λ
ϕ
−∆
+
=
Ω
=
Γ
M.Pyrz Metody numeryczne w mechanice - Wprowadzenie 10.2011
λ
∆
,
f
ϕ
Poszukiwanie wartości funkcji
– przykłady problemów
Problemy optymalizacji
Optymalizacja funkcji wielu zmiennych
Wyznaczyć x tak aby
1
2
1
2
1
2
( ,
,...,
)
min
( ,
,...,
)
0,
( ,
,...,
)
0
n
n
n
f x x
x
x x
x
x x
x
→
=
≤
h
g
12
Kontrola optymalna
Wyznaczyć u
aby (na przykład)
( )
( , ( ), ( ))
[ , ]
( )
,
,
y x
f x y x u x
x
a b
y a
f
dane
α
α
′
=
∈
=
( , ( ), ( ))
min
b
a
g x y x u x dx
→
∫
M.Pyrz Metody numeryczne w mechanice - Wprowadzenie 10.2011
Rozwiązywanie zadań za pomocą metod numerycznych
Sprzęt
papier + długopis
(bardzo prosty problem )
kalkulator
(problem o łatwym algorytmie)
komputer
(powaŜne zagadnienia)
Metoda
ZaleŜy od rozpatrywanego problemu i posiadanego sprzętu
Algorytm
13
Algorytm
Precyzyjny opis kolejnych działań, pozwalających na obliczenie wyniku
Badanie algorytmów
opis algorytmu
badanie teoretyczne zbieŜności (błąd metody)
badanie praktyczne zbieŜności
M.Pyrz Metody numeryczne w mechanice - Wprowadzenie 10.2011
Źródła i natura błędów
Błędy podczas definiowania problemu ( sformułowanie matematyczne)
- Błędy sformułowania (przybliŜenie stanu rzeczywistego za pomocą modeli
matematycznych– margines błędu trudny do oszacowania)
- Błędy danych (błędy i niedokładności pomiarów i zaokrągleń)
Błędy przybliŜeń w procesie obliczeniowym
14
Błędy przybliŜeń w procesie obliczeniowym
(rozwiązywanie numeryczne)
- Błędy zaokrągleń – przybliŜenie wartości liczbowych posiadających
nieskończenie wiele cyfr przez wartości o skończonej liczbie cyfr)
- Błędy „obcięcia” będące konsekwencją zastąpienia „nieskończonej” liczby
operacji matematycznych (wymaganych w teorii) przez skończoną liczbę
operacji procesu obliczeniowego
M.Pyrz Metody numeryczne w mechanice - Wprowadzenie 10.2011
Akumulacja błędów
Wszystkie błędy dodają się do siebie i rozprzestrzeniają w procesie obliczeń.
Ich
akumulacja
moŜe prowadzić do nieprzewidywalnych skutków.
Metoda (lub algorytm jest
stabilny
jeŜeli jest ona mało wraŜliwa na
akumulację (spiętrzenie) błędów zaokrąglenia (moŜe to być zaleŜne od
wartości zmiennych).
Obliczanie błędu
błąd bezwzględny
błąd względny
(róŜnica miedzy wartością dokładną lub teoretyczną x*
a wartością przybliŜoną x )
Przykład: Gdy przybliŜymy
1/3
liczbą
0.333
to
epsilon=1/3*10
-3
, e=10
-3
.
15
ε
=
−
x
x
*
e
x
=
ε
*
M.Pyrz Metody numeryczne w mechanice - Wprowadzenie 10.2011
Komputer – narzędzie dla metod numerycznych
Komputer moŜe dostarczyć jedynie wartości
przybliŜone,
które zaleŜą
jednocześnie od ograniczeń fizycznych (obszar pamięci, prędkość
zegara, …) i od doboru metody przez autora programu.
Niebezpiecze
ń
stwo:
zbyt duŜe zaufanie uŜytkownika do komputera
(niezaleŜnie od tego czy jest to kalkulator czy super komputer)!
16
Reprezentacja (kodowanie) liczb na komputerze
System numeryczny komputera jest dyskretny (skończona liczba wartości)
Z wyjątkiem najprostszych przypadków,
wszystkie obliczenia są obarczone błędami.
M.Pyrz Metody numeryczne w mechanice - Wprowadzenie 10.2011
Obliczenia na kalkulatorze
Problem:
Obliczyć
(11 111 111)
2
Dokładna wartość :
123 456 787 654 321
Wartość wyświetlona przez kalkulator
1.2345E14
(wyświetlacz 9-cio cyfrowy)
1.2345*10
14 =
123 450 000 000 000
Błąd bezwzględny
123 456 787 654 321 - 123 450 000 000 000 =
17
Błąd bezwzględny
123 456 787 654 321 - 123 450 000 000 000 =
6 787 654 321
(rzędu 6*10
9
)
Błąd względny
6 787 654 321 / 123 456 787 654 321 =
0.0005%
W obliczeniach numerycznych naleŜy starać się o uzyskanie odpowiedzi
charakteryzowanej prawidłowym rządem wielkości i maksymalną liczbą
dokładnych cyfr rozwinięcia dziesiętnego.
M.Pyrz Metody numeryczne w mechanice - Wprowadzenie 10.2011
*
Reprezentacja liczb na komputerze:
całkowite i zmiennoprzecinkowe
(rzeczywiste).
*
Dokładność:
zwykła i/lub podwójna
*
Liczby zmiennoprzecinkowe
Problemy informatyczne
x
M b
E
= ±
*
18
gdzie M – mantysa, b – podstawa systemu liczbowego, E – wykładnik (liczba całkowita)
*
Zaokrąglanie
liczby
*
Arytmetyka zmiennopozycyjna
Reprezentacja zmiennopozycyjna została zaproponowana aby błąd względny liczb
reprezentowanych w pamięci komputera był w przybliŜeniu stały (wartość tego błędu
związana jest z dokładnością maszyny)
M.Pyrz Metody numeryczne w mechanice - Wprowadzenie 10.2011
Uwarunkowanie problemu i stabilność algorytmu
JeŜeli błędy powstałe na pośrednich etapach obliczeń mają pomijalny
wpływ na końcowy wynik, wówczas mamy do czynienia z algorytmem
stabilnym
numerycznie. W przeciwnym przypadku algorytm jest
numerycznie niestabilny.
19
Problem jest
dobrze uwarunkowany
numerycznie, jeŜeli małe zmiany
danych nie pociągają za sobą duŜych zmian w wynikach.
M.Pyrz Metody numeryczne w mechanice - Wprowadzenie 10.2011
Pytania przed przystąpieniem do rozwiązywania
Dane:
Jakie wielkości są danymi problemu?
W jakiej przestrzeni danych i wyników najlepiej wyrazić sens fizyczny lub
techniczny problemu?
Uwarunkowanie problemu
Czy problem jest wraŜliwy na perturbacje danych?
20
Czy problem jest wraŜliwy na perturbacje danych?
Czy moŜna go rozwiązać z wymagana dokładnością?
Czy istnieje równowaŜny problem lepiej uwarunkowany?
Dobór algorytmu
Czy algorytm jest stabilny i prawidłowy?
Jakie są moŜliwe straty w dokładności?
M.Pyrz Metody numeryczne w mechanice - Wprowadzenie 10.2011