3. Numerické úlohy a metody
• V praxi je celá řada matematických úloh, které nelze řešit
analyticky nebo analytické řešení je velice složité, časově a
ekonomicky náročné. Pokud nevyžadujeme naprosto přesné
výsledky, ale postačují nám přibližné zatížené určitou
chybou, můžeme tyto úlohy převést na numerické.
• Numerická metoda je algoritmus řešení numerické úlohy.
• Numerické metody využívají postupy, kdy při procesu řešení
matematické úlohy lze dojít k přibližnému řešení s využitím pouze
aritmetických a logických operací.
• Nepřesnost (též chyba, odchylka), která vzniká při numerickém
řešení, se udává pouze jako odhad chyby - přesné řešení
neznáme.
• Numerickou matematiku lze charakterizovat jako část
matematiky, zabývající se řešením a zpracováním matematických
úloh a modelů pomocí výpočetní techniky. Tato část matematiky
realizuje přechod od čistě teoretické matematiky k praktickým
výsledkům.
4. Numerické řešení
1
Realita – reálný systém
1
Matematický model
1
Diskrétní (numerická) úloha
1
Numerická metoda
1
Numerické řešení
• Diskretizace je proces při němž spojitý (kontinuální) problém
nahradíme vhodným diskrétním (konečným množstvím
hodnot) problémem.
1,5 1,5
1 1
0,5 0,5
0 sin(x) 0 sin(x)
0 1 2 3 4 5 6 7 0 1 2 3 4 5 6 7
-0,5 -0,5
-1 -1
-1,5 -1,5
5. Nepřesnost – druhy chyb
• Chyba modelu - je odchylkou modelu od originálu a někdy ji nelze
ani odhadnout
• Chyba dat - je odchylka naměřených dat od skutečných hodnot.
Jejich vliv lze odhadnout na základě znalosti chyby měřidla.
• Chyba metody - je odchylka pribliţného rešení od přesného
řešení matematického problému. Dále ji dělíme na:
1. Chybu aproximace - odchylka přibliţného řešení od
přesného řešení diskrétního problému,
2. Diskretizační chybu - je důsledkem nahrazení spojitého
problému diskrétním,
3. Zaokrouhlovací chyba - je chyba, která vzniká v důsledku
reprezentace reálných čísel v počítači, tedy v důsledku
aproximace reálného čísla přibliţnou hodnotou.
Zaokrouhlovací chyby jsou často obtíţně kvantifikovatelné.
6. Zaokrouhlovací chyba
• Vzniká v důsledku reprezentace reálných čísel v počítači…
• Jaký je součet čísel: 20 -5,5 -14,3 -0,2 ?
10 ,625 1
MS Excel: 20
… 0 0 0 1 0 1 0 1 0 1 0 0 0 … -5,5
-14,3
+3 + - 127 + 3 = 130 1
-0,2
Proč?
-7,21645E-16
… 0 0 0 1 0 1 0 1 0 1 0 0 0 …
Reálné datové typy
1
0,25 + 0,0625 + 0,015625 • Single 4 byte, přesnost 7
cifer, ±3.402823E38 ÷
01000001001010100000000000000000 ±1.401298E-45
• Double 8 byte, přesnost
S E = 130 M = 0,328125 15, ±1.79769313486231E308 ÷
±4.94065645841247E-324
(-1)S · 2E-127 · 1,M = 23 · 1,328125 = 10,625 • Currency 8 byte, přesnost
15.4, ±922,337,203,685,477.5808
Strojové epsilon - popisuje přesnost proměnných reálných typů v počítači. Je udáváno
jako nejmenší kladné číslo, které po přičtení k jedničce dává výsledek různý od jedné.
8. Aproximace
• Aproximace je numerická metoda náhrady složité/neznámé
funkce za jednodušší (například polynomem), nebo nalezení
rovnice funkce zadané pouze tabulkovými hodnotami. Tabulkové
hodnoty představují buď přesné hodnoty funkce nebo hodnoty
zatížené chybami (získané např. měřením).
• Metody:
• Interpolace - Aproximace interpolací
• Regrese - Aproximace metodou nejmenších čtverců
• Příklady použití:
• Identifikace matematického modelu systému ze známých
diskrétních hodnot.
• Analýza a odhad vývoje průběhu dat (např. vývoj akcií)
• Tvorba hladkých přechodů mezi body v grafu, při kreslení
spline křivek.
• Dopočet drah pohybů mechatronických prvků (např. ramen
robotů, obráběcích nástrojů atd.)
• Částečná eliminace chyb naměřených dat apod.
9. Interpolace
• Interpolace je aproximace funkce
jinou funkcí, která v daných bodech
x0, x1, …, xn (celkového počtu n+1)
nabývá předepsaných hodnot
f(x0), f(x1), …, f(xn) případně
předepsaných hodnot derivací f ( x)
1
f’(x0), f’(x1), …, f’(xn). 1 x2
• Metody interpolace: Lagrangeova interpolace
1. Lagrangeova interpolace
Náhrada polynomem P
nevýše n stupně
2. Hermiteova interpolace
Náhrada polynomem
stupně 2n + 1
3. Interpolace pomocí splinů f ( x)
1
1 x2
Hermiteova interpolace
10. Interpolace pomocí splinů
• Lineární interpolační spline
• Propojení bodů úsečkou
(polynomem 1. stupně) Body Lineární spline Kubický spline
5
• Pro kaţdou dvojici bodů je
samostatná aproximační
rovnice f(x) = ax+b 4
• Kubický spline
3
• Propojení bodů hladkou
f(x)
křivkou (polynomem 3.
stupně) 2
• Pro kaţdou dvojici bodů je
samostatný aproximační 1
polynom f(x) = ax3+bx2+cx+d
• Plynulý přechod mezi dvěma 0
sousedními polynomy f(x) a 0 1 2 3 4 5
s(x) je zajištěn tak, ţe se ve x
společném bodě i první a
druhé derivace musí rovnat
s’(xi) = f’(xi) , s’’(xi) = f’’(xi) .
11. Aproximace metodou nejmenších
čtverců – regrese
• V případě, že jsou funkční hodnoty získány experimentálně, např.
jako výsledky měření, je interpolace nevhodná. Výsledky jsou
totiž zatíženy chybami měření, které se do polynomu přenesou.
• Aproximace metodou nejmenších čtverců je numerická metoda
nalezení parametrů zvoleného typu funkce ze zadaných
tabulkových hodnot x0y0, x1y1, …, xnyn tak, aby součet čtverců
vzdáleností f(x0), f(x1), …, f(xn) od y0, y1, …, yn byl minimální.
• Metody:
1. Lineární regrese Lineární regrese
Proložení přímkou y = ax+b
2. Polynomická regrese
Proložení polynomem vyššího
stupně 2, 3, .. 6. Jedná se
o speciální případ lin. regrese.
3. Další metody nelineární
regrese.
12. Aproximace metodou nejmenších
čtverců v MS Excelu
• V grafu zvolíme řadu dat.
• Pravým tlačítkem vyvoláme
kontextovou nabídku.
• Zvolíme „Přidat spojnici
trendu“
• Zvolíme typ regrese
• Pro výpočet regresního
polynomu prvního stupně –
lineární regrese proložení
přímkou, je možné použít
funkce LINTREND a
LINLEGRESE.
15. Numerické řešení nelineárních rovnic
• Řešením nelineární rovnice f(x) = 0 lze provádět metodami:
• Metoda půlení intervalu
• Metoda regula falsi
• Newtonova metoda, Metoda tečen
• Iterační metoda
• Postup
1. Separace kořenů - nalezení intervalů <x1,x2>, ve kterých
se nacházejí kořeny rovnice.
2. Zvolení přesnosti řešení Ɛ, maximální vzdálenost
intervalu Ɛ > |xk-xk-1|
3. Výpočet kořene zvolenou metodou.
16. Separace kořenů rovnic
• Jsou-li znaménka hodnot spojité funkce f(x) v koncových bodech
intervalu <x1, x2> různá, tj. f(x1).f(x2) < 0, pak uvnitř tohoto
intervalu leží alespoň jeden kořen rovnice f(x). Tento kořen bude
zřejmě jediný, existuje-li v intervalu <x1, x2> derivace f´(x), která v
tomto intervalu nemění znaménko.
20. Řešení algebraických rovnic
v MS Excelu
Načtení doplňku Řešitel
• Nabídka : Soubor/Možnosti/Doplňky
• Zvolit „ Doplňky aplikace Excel“
• Tlačítko „Přejít…“
• Zvolit položku Řešitel.
• Spuštění: Záložka „Data“, tlačítko „Řešitel“
21. ??? kontrolní otázky ???
• Co je a jak vzniká zaokrouhlovací chyba?
• Co je strojové epsilon?
• Na kolik cifer je přesný datového typu Double?
• Jaký je rozdíl mezi Interpolací a Regresí
polynomem?
• Jak v MS Excelu vytvořit Interpolaci spline?
• Jak v MS Ecelu vytvořit lineární regresi?
• Jak přidat doplněk řešitel do prostředí MS
Excelu?
• Jakým způsobem v MS Excelu lze vyřešit
algebraickou rovnici?
22. 352 - Katedra automatizační techniky a řízení
Ing. David Fojtík, Ph.D.
A922, kl. 4193
Použité zdroje
KUČERA, R. Numerické metody skriptum VŠB-TU Ostrava
ČERNÁ D. Interpolace skriptum Technické univerzity v Liberci
FAJMON, B. RUŢICKOVÁ, I. Matematika 3 skriptum VUT v Brně
http://suave_skola.varak.net/programky/OT%201/Algoritmizace/