1 / 25

P A 0 81 P rogramov ání numerických výpočtů

P A 0 81 P rogramov ání numerických výpočtů. Přednáška 4. Sylabus. V rámci PNV budeme řešit konkrétní úlohy a to z následujících oblastí: Nelineární úlohy Řešení nelineárních rovnic Numerická integrace Lineární úlohy Řešení soustav lineárních rovnic

Download Presentation

P A 0 81 P rogramov ání numerických výpočtů

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. PA081 Programování numerických výpočtů Přednáška 4

  2. Sylabus V rámci PNV budeme řešit konkrétní úlohy a to z následujících oblastí: • Nelineární úlohy • Řešení nelineárních rovnic • Numerická integrace • Lineární úlohy • Řešení soustav lineárních rovnic • Metoda nejmenších čtverců pro lineární úlohy • Sumace obecné a s korekcí • Numerické výpočty v C a C++ • Optimalizace výrazů, optimalizace při překladu

  3. Nelineární úlohy(1-sin x) / (/2-x) (1) Výraz tvaru:(1-sin x) / (/2-x)pro x /2 Standardní výpočet pro x = 1,5708: (přesnost 10 desetinných míst) /2=1,5707963267 /2-x = 0,0000036733 sin x = 0,9999999999 (1-sin x) / (/2-x) = 0,0000272235

  4. Nelineární úlohy(1-sin x) / (/2-x) (2) Výraz tvaru:(1-sin x) / (/2-x)pro x /2 Přesný výpočet pro x = 1,5708: /2= 1,5707963267949... /2-x = -0,00000367320510341607... sin x = 0,999999999993254... (1-sin x) / (/2-x) = 0,0000018366168017301

  5. Nelineární úlohy(1-sin x) / (/2-x) (3) Výraz tvaru: (1-sin x) / (/2-x) pro x /2 Převedení úlohy do vhodnějšího tvaru: Substituce t = /2 – x Pro sin x pak platí: sin x = sin (/2 – t) = -sin (t - /2) = cos (t) Pozn.: sin (x + /2) = cos x; sin (x - /2) = -cos x

  6. Nelineární úlohy(1-sin x) / (/2-x) (4) Výraz tvaru: (1-sin x) / (/2-x) pro x /2 Převedení úlohy do vhodnějšího tvaru: x = 1,5708 t = 0,00000 36732

  7. Nelineární úlohy(1-sin x) / (/2-x) (5) Porovnání výsledků (x = 1,5708): Standardní výpočet: 0,0000272235 Přesný výpočet: 0,0000018366168017301 Pozměnění výrazu: 0,00000 18366

  8. Iterační metodyPraktický příklad 2: (1) Prostá iterace: Nalezení rekurzivní rovnice: Nějaké návrhy?

  9. Iterační metodyPraktický příklad 2: (2) Prostá iterace: Nalezení rekurzivní rovnice: a) konverguje b) diverguje

  10. Iterační metodyPraktický příklad 2: (3) Prostá iterace: Nalezení rekurzivní rovnice: a) konverguje 7 iterací pro přesnost na 6 des. míst

  11. Iterační metodyPraktický příklad 2: (4) Newtonova metoda: Úprava rovnice není nutná: Derivace: Výpočet xi+1: Pozor na správnou volbu x0: x0 = 1 (chyba), x0 = 2 (OK)

  12. Iterační metodyPraktický příklad 2: (5) Newtonova metoda: 7 iterací pro přesnost na 6 des. míst

  13. Iterační metodyPraktický příklad 3: sin x = x - h (1) Prostá iterace: Pro h = 0,234567 Pro h = 0,000123456

  14. Iterační metodyPraktický příklad 3: sin x = x - h (1) Prostá iterace: Pro h = 0,234567 Nalezení rekurzivní rovnice: • x = sin x + h konverguje (x* = 1,145472; 20 iter.) • x = asin (x – h) nekonverguje Pro h = 0,000123456 Nalezení rekurzivní rovnice: • x = sin x + h nekonverguje • x = asin (x – h) nekonverguje

  15. Iterační metodyPraktický příklad 3: sin x = x - h (2) Newtonova metoda: Úprava rovnice: f(x) = sin x – x + h = 0 Derivace: f’(x) = cos x - 1 Výpočet xi+1: Pro h = 0,234567: konverguje; x0 = 0,5; x* = 1,145472; 6 iter. Pro h = 0,000123456: konverguje; x0 = 0,001; x* = 0,090492916; 22 iter. VELMI OBTÍŽNÁ VOLBA x0 ROVNICE PRO xi+1MÁ NEVHODNÝ TVAR

  16. Iterační metodyPraktický příklad 3: sin x = x - h (3) Pro h = 0,000123456 Analogický problém pro metodu regula falsi: Má ve jmenovateli: sin a – a – (sin b – b) => velmi malá čísla, navíc jejich rozdíl se blíží 0 Co tedy dělat?:

  17. Iterační metodyPraktický příklad 3: sin x = x - h (4) Pro h = 0,000123456 Analogický problém pro metodu regula falsi: Má ve jmenovateli: sin a – a – (sin b – b) => velmi malá čísla, navíc jejich rozdíl se blíží 0 Co tedy dělat?: a) Půlení intervalů – zaručené, ale pomalé: konverguje, 22 iterací b) Prostá iterace s rovnicí, využívající Taylorovy řady

  18. Iterační metodyPraktický příklad 3: sin x = x - h (5) Pro h = 0,000123456 Prostá iterace s rovnicí, využívající Taylorovy řady: Konverguje; x0 = 0; 3 iterace

  19. Iterační metodyPraktický příklad 4:x.sin x = h (1) Podobný problém jako v předchozím případě. Existuje ještě jedna metoda, jak pracovat s takovýmito výrazy: Využijeme „pseudokonstantu“ sin x/x: x. sin x = h vynásobíme levou stranu zlomkem x/x a tím si na levé straně vytvoříme výraz sin x/x x2.(sin x/x) = h pro x 0 je hodnota tohoto výrazu blízká 1 a se změnou x se mění velmi pomalu => vhodná do jmenovatele

  20. Iterační metodyPraktický příklad 4:x.sin x = h (2) Prostá iterace s rovnicí (h = 0,00123456): Pro x0 = 0,001 Konverguje, 2 iterace

  21. Iterační metodyPraktický příklad 4: (1) Hodnoty konstant: a = 0,8474; b = 0,3; c = 3,27; d = 0,6697 Substituce:

  22. Iterační metodyPraktický příklad 4: (1) Hodnoty konstant: a = 0,8474; b = 0,3; c = 3,27; d = 0,6697 Substituce: • x = u2/d Nahradíme cos pomocí sin, abychom mohli použít sin u/u: 1 – cos u = 2 (sin (u/2))2

  23. Iterační metodyPraktický příklad 4: (2) 1 – cos u = 2 (sin (u/2))2 => u = 1,42998 x = 4,55932

  24. Iterační metodyObecná pravidla • Vytvořit graf rovnice. • Zjistit, kde zhruba leží kořen rovnice. V případě, že jich je několik, ujistit se, který z nich hledáme. • Vymyslet vhodnou iterativní metodu – jednu z těchto: • Prostá iterace s původní rovnicí • Prostá iterace s upravenou rovnicí (Taylorův rozvoj, využití pseudokonstanty sin x / x) • Newtonova metoda • Metoda regula falsi • Metoda půlení intervalů • Metodu použít a otestovat správnost výsledků (např. pomocí grafu rovnice). Pokud je výsledek nesprávný, zjistit důvod a zkusit jinou metodu.

  25. Domácí úkol 4 Máme kolejnici délky 1 km a 10 cm. Ohneme ji tak, aby mezi jejími konci byla vzdálenost 1 km. Jaká bude vzdálenost mezi spojnicí konců kolejnice a bodem ve středu kolejnice?

More Related