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