SlideShare ist ein Scribd-Unternehmen logo
1 von 22
352 - Katedra automatizační
         techniky a řízení

Technické výpočty


   Ing. David Fojtík, Ph.D.
        A922, kl. 4193
Numerické metody a jejich
       přesnost
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.
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
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é.
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é.
Aproximace
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.
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
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) .
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.
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.
Algoritmus lineární regrese
                                          Začátek
                                                                                       Lineární regrese
                                                                                2100




                                          Načtení
                                       Body(1..n,1..2)                          1900




                                          sumX = 0                              1700
                                          sumY = 0
                                         sumXX = 0
                                         sumXY = 0
                                       N = PocetBodu




                                                                     y = Ax+B
                                                                                                           y
                                                                                1500
                                                                                                           f(x)= Ax+B



                                           i = 1..N
                                                                                1300




                                 sumX = sumX + body(i, 1)
                                 sumY = sumY + Body(i, 2)
                                                                                1100
                           sumXX = sumXX + Body(i, 1) * Body(i, 1)
                           sumXY = sumXY + Body(i, 1) * Body(i, 2)


                                                                                 900
                                                                                    6600     6700   6800
                                              i                                               x




                 A = (N * sumXY - sumX * sumY) / (N * sumXX - sumX * sumX)
                 B = (sumXX * sumY - sumX * sumXY) / (N * sumXX - sumX * sumX)




                                             Tisk
                                          y = Ax +B




                                           Konec
Numerické řešení
algebraických rovnic
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.
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.
Algoritmus metody půlení intervalu
Algoritmus regula falsi,
    metoda sečen
Newtonova metoda, metoda tečen
Ř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“
??? 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?
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/

Weitere ähnliche Inhalte

Was ist angesagt?

Databazove systemy5
Databazove systemy5Databazove systemy5
Databazove systemy5
olc_user
 

Was ist angesagt? (12)

Bi3011 algoritmy-uvod
Bi3011 algoritmy-uvodBi3011 algoritmy-uvod
Bi3011 algoritmy-uvod
 
Wa 10
Wa 10Wa 10
Wa 10
 
Wa 4
Wa 4Wa 4
Wa 4
 
Wa 5
Wa 5Wa 5
Wa 5
 
Java 2D a kreslení
Java 2D a kresleníJava 2D a kreslení
Java 2D a kreslení
 
Wa 1
Wa 1Wa 1
Wa 1
 
Databazove systemy5
Databazove systemy5Databazove systemy5
Databazove systemy5
 
Wa 7
Wa 7Wa 7
Wa 7
 
Wa 8
Wa 8Wa 8
Wa 8
 
PR2021
PR2021PR2021
PR2021
 
Wa 6
Wa 6Wa 6
Wa 6
 
Wa 9
Wa 9Wa 9
Wa 9
 

Mehr von 352 (7)

Ověření dat, maticové funkce, kontingenční tabulky
Ověření dat, maticové funkce, kontingenční tabulkyOvěření dat, maticové funkce, kontingenční tabulky
Ověření dat, maticové funkce, kontingenční tabulky
 
Grafy, zobrazení, vzorce
Grafy, zobrazení, vzorceGrafy, zobrazení, vzorce
Grafy, zobrazení, vzorce
 
Práce v prostředí aplikace MS Excel
Práce v prostředí aplikace MS ExcelPráce v prostředí aplikace MS Excel
Práce v prostředí aplikace MS Excel
 
Tv 13
Tv 13Tv 13
Tv 13
 
TV kombinovane studium
TV kombinovane studiumTV kombinovane studium
TV kombinovane studium
 
Tv 04 2011
Tv 04 2011Tv 04 2011
Tv 04 2011
 
TV 02 2011
TV 02 2011TV 02 2011
TV 02 2011
 

Tv 12

  • 1. 352 - Katedra automatizační techniky a řízení Technické výpočty Ing. David Fojtík, Ph.D. A922, kl. 4193
  • 2. Numerické metody a jejich přesnost
  • 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.
  • 13. Algoritmus lineární regrese Začátek Lineární regrese 2100 Načtení Body(1..n,1..2) 1900 sumX = 0 1700 sumY = 0 sumXX = 0 sumXY = 0 N = PocetBodu y = Ax+B y 1500 f(x)= Ax+B i = 1..N 1300 sumX = sumX + body(i, 1) sumY = sumY + Body(i, 2) 1100 sumXX = sumXX + Body(i, 1) * Body(i, 1) sumXY = sumXY + Body(i, 1) * Body(i, 2) 900 6600 6700 6800 i x A = (N * sumXY - sumX * sumY) / (N * sumXX - sumX * sumX) B = (sumXX * sumY - sumX * sumXY) / (N * sumXX - sumX * sumX) Tisk y = Ax +B Konec
  • 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.
  • 18. Algoritmus regula falsi, metoda sečen
  • 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/