PA081 Programování numerických výpočtů

Slides:



Advertisements
Podobné prezentace
Minimalizace součtu čtverců - úvod
Advertisements

Lineární klasifikátor
Téma 5 Metody řešení desek, metoda sítí.
J. Pokorný 1 DOTAZOVACÍ JAZYKY slajdy přednášce DBI006 J. Pokorný MFF UK
Kružnice Sečná rovina je kolmá k ose kuželové plochy.
Nelineární optimalizace s omezeními - obecně
Optimalizace bez omezení (unconstraint)
Název školyIntegrovaná střední škola technická, Vysoké Mýto, Mládežnická 380 Číslo a název projektuCZ.1.07/1.5.00/ Inovace vzdělávacích metod EU.
Fakulta životního prostředí Katedra informatiky a geoinformatiky Přednáška 07 Průběh funkce Matematika II. KIG / 1MAT2.
12.přednáška integrační metody per partes substituce
Autorem materiálu a všech jeho částí, není-li uvedeno jinak, je Mgr. Jan Kryšpín. Obchodní akademie a Střední odborná škola logistická, Opava, příspěvková.
PA081 Programování numerických výpočtů
Vzorová písemka Poznámka: Bonusové příklady jsou nepovinné, lze za ně ale získat body navíc. (2 body) Definujte pojem gradient. Vypočítejte gradient funkce.
Programování numerických výpočtů - návrh písemky.
PA081 Programování numerických výpočtů Přednáška 2.
PA081 Programování numerických výpočtů Přednáška 4.
57. ročník MO Soustředění řešitelů Kategorie A Exponenciela Litoměřice 2007.
Úplné kvadratické rovnice
Fakulta životního prostředí Katedra informatiky a geoinformatiky Přednáška 05 Spojitost a derivace funkce Matematika II. KIG / 1MAT2.
Přednáška 12 Diferenciální rovnice
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í.
Medians and Order Statistics Nechť A je množina obsahující n různých prvků: Definice: Statistika i-tého řádu je i-tý nejmenší prvek, tj., minimum = statistika.
Použití derivací. a f(a) T t 1) Tečna ke grafu funkce
Funkce.
Získávání informací Získání informací o reálném systému
ITERAČNÍ METODY DLOUHODOBÁ MATURITNÍ PRÁCE
Jazyk vývojových diagramů
Derivace Vypracoval: Mgr. Lukáš Bičík
Název školyIntegrovaná střední škola technická, Vysoké Mýto, Mládežnická 380 Číslo a název projektuCZ.1.07/1.5.00/ Inovace vzdělávacích metod EU.
Lineární rovnice Kvadratické rovnice Soustavy rovnic
Informatika I 2. přednáška
2.1.2 Graf kvadratické funkce
Exponenciální funkce Körtvelyová Adéla G8..
Výukový materiál zpracován v rámci projektu EU peníze školám Registrační číslo projektu: CZ.1.07/1.5.00/ Šablona:III/2č. materiálu:VY_32_INOVACE_89.
Příklad 1: Výpočet π podle Archiméda
Metody nelineárního programování
Opakování.. Práce se zlomky.
Kvadratické funkce, rovnice a nerovnice
Diferenciální rovnice
Regrese Aproximace metodou nejmenších čtverců
Vzdálenost bodu od přímky
R OVNICE A NEROVNICE Rovnice v podílovém tvaru VY_32_INOVACE_M1r0105 Mgr. Jakub Němec.
9.přednáška vyšetřování průběhu funkce
ANALÝZA KONSTRUKCÍ 8. přednáška.
Derivace funkce. Velikost populace v čase t 0 je N (t 0 ). Velikost populace v čase t  t 0 je N ( t ). Přírůstek populace za jednotku času je [N(t) –
Derivace funkce. Velikost populace v čase t 0 je N (t 0 ). Velikost populace v čase t  t 0 je N ( t ). Přírůstek populace za jednotku času je [N(t) –
Gradientní metody Metoda největšího spádu (volný extrém)
hledání zlepšující cesty
Optimalizace bez omezení (unconstraint)
Prezentace příkladu 6.3 FIPV1 Jana Marcelová.
Lineární programování - charakteristika krajních bodů
Fakulta životního prostředí Katedra informatiky a geoinformatiky
Repetitorium z matematiky Podzim 2012 Ivana Medková
Počítačová chemie (5. přednáška)
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í.
Stabillita numerické metody
Diference a diferenciál Způsoby vyčíslování termodynamických dat.
Algoritmy a struktury neuropočítačů ASN - P14 Hopfieldovy sítě Asociativní paměti rekonstrukce původních nezkreslených vzorů předkládají se neúplné nebo.
Gottfried Wilhelm von Leibniz
Přenos nejistoty Náhodná veličina y, která je funkcí náhodných proměnných xi: xi se řídí rozděleními pi(xi) → můžeme najít jejich střední hodnoty mi a.
Soustavy lineárních rovnic Matematika 9. ročník Creation IP&RK.
Korelace. Určuje míru lineární vazby mezi proměnnými. r < 0
Vrchol paraboly.
Cvičení V této kapitole můžete procvičit probrané téma. Jednotlivá cvičení obsahují správné řešení s postupem. Po zobrazení zadání se dalším(dalšími) kliknutím(kliknutími)
Výukový materiál zpracován v rámci projektu
7.1 Základní pojmy Mgr. Petra Toboříková
Úvod Aritmetické a geometrické posloupnosti a jedna zajímavá funkcionální rovnice.
Soustavy lineárních rovnic
Definiční obory. Množiny řešení. Intervaly.
Soustava dvou lineárních rovnic se dvěma neznámými
Transkript prezentace:

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

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

Nelineární úlohy atan x / tanh x = b (1) Výraz tvaru: atan x / tanh x = b Pro b platí: 1 <= b < 

Nelineární úlohy atan x / tanh x = b (2) a) b 1 výraz tvaru: atan x / tanh x = b Musíme si uchovat rozdíl mezi 1 a b => použijeme substituci b = 1 +  ( je malé) Upravujeme: atan x = (1 + ) tanh x atan x – tanh x =  . tanh x atan x . cosh x – sinh x =  . sinh x Teď můžeme použít mocninné řady 2 téměř stejné hodnoty => musíme se jich zbavit

Nelineární úlohy atan x / tanh x = b (3) atan x . cosh x – sinh x =  . sinh x

Nelineární úlohy atan x / tanh x = b (4) t = x2; f(t) je kontrakce (alespoň na [-0,2 , 0,2]) iteruji

Iterační metody pro řešení nelineárních úloh Hledání pevného bodu: Metoda prosté iterace Hledání průsečíku s osou x: Metoda půlení intervalů Metoda regula falsi Modifikovaná metoda regula falsi Metoda sečen Newtonova metoda

Iterační metody hledání pevného bodu II Princip iteračních metod: Máme výchozí nelineární rovnici: F(x) = G(x) Vytvoříme z ní rekursivní rovnici tvaru: xi+1 = f(xi ,xi-1, ...,x0) (Musí splňovat podmínky věty o pevném bodě.) Provedeme iterativní výpočet Nejčastěji se využívají rovnice: xi+1 = f(xi) xi+1 = f(xi ,xi-1)

Iterační metody hledání pevného bodu III Iterativní výpočet: Zvolíme vhodné počáteční hodnoty x0, x1, ..., xk: i := k; DO xi+1 = f(xi ,xi-1, ...,x0); i++; WHILE (PODMÍNKA UKONČENÍ != TRUE)

Iterační metody hledání pevného bodu IV Jaké mohou být podmínky ukončení: |f(xi+1) – f(xi)| < MIN_FX |xi+1 – xi| < MIN_X i > MAX_I

Iterační metody hledání pevného bodu - metoda prosté iterace Pracuje s rovnicí: xi+1 = f(xi) Nepopisuje metodu, jak z výchozí rovnice získat rovnici xi+1 = f(xi) Pouze klade podmínky, které musí rovnice xi+1 = f(xi) splňovat: Existuje x*  D(f) tak, že x* je limitou posloupnosti x0, x1, x2, … pro I  .

Iterační metody hledání pevného bodu - metoda prosté iterace II Příklad: Výchozí rovnice: cos x = b Rekursivní rovnice: Zhodnocení: Výhody: Rychlost konvergence (odpovídá typu funkce) Nevýhody: Neposkytuje žádný univerzální způsob, jak odvodit rekursivní rovnici. Neposkytuje ani metodu pro určení x0.

Iterační metody Hledání průsečíku s osou x - obecně Výchozí nelineární rovnice: F(x) = G(x) Chceme najít x, pro které platí: F(x) – G(x) = 0 Využijeme metody pro hledání průsečíku s osou x. Hledáme průsečík f(x) s osou x, přičemž: f(x) = F(x) – G(x) Pro hledání průsečíku f(x) s osou x existují standardní metody: půlení intervalů, regula falsi, ...

Iterační metody Hledání průsečíku s osou x – obecně II Ještě než použijeme standardní metody: Musíme D(f) funkcie f(x) rozdělit na intervaly: <ai, bi>, kde i = 1, 2, 3,… Tak, aby platilo: f(x) má v intervalu <ai, bi> právě 1 průsečík s osou x f(ai). f(bi) < 0 f(x) je v intervalu <ai, bi> spojitá

Iterační metody Hledání průsečíku s osou x – obecně III Máme výchozí funkci f(x) a interval <a, b> Zvolíme funkci m pro výpočet xi+1: xi+1 = m(xi ,xi-1, ...,x0) Funkce m je popsána v rámci metody pro určování průsečíku s osou x Provedeme iterativní výpočet Nejčastěji se využívají funkce tvaru: xi+1 = m(xi) xi+1 = m(xi ,xi-1)

Iterační metody Hledání průsečíku s osou x – obecně IV Iterativní výpočet: Zvolíme vhodné počáteční hodnoty x0, x1, ..., xk: i := k; DO xi+1 = m(xi ,xi-1, ...,x0); i++; WHILE (PODMÍNKA UKONČENÍ != TRUE)

Iterační metody Hledání průsečíku s osou x – obecně V Jaké mohou být podmínky ukončení: |f(xi+1) – f(xi)| < MIN_DF |f(xi+1)| < MIN_F |xi+1 – xi| < MIN_X i > MAX_I

Iterační metody Hledání průsečíku s osou x – Newtonova metoda Princip: Vysvětlím na tabuli.

Iterační metody Hledání průsečíku s osou x – Newtonova metoda II Volba počátečních hodnot: x0 Výpočet xi+1 Vstup: x0 Vlastní výpočet:

Iterační metody Hledání průsečíku s osou x – Newtonova metoda III Příklad: f(x) = x3 – x – 1 x0 = 1 x1 = 2

Iterační metody Hledání průsečíku s osou x – Newtonova metoda IV Zhodnocení: Výhody: Kvadratická konvergence (v každém kroku se zdvojnásobí počet platných cifer) Nevýhody: Je nutno počítat derivaci V některých případech nekonverguje (xi+1 může vyjít mimo interval, kde funkce splňuje dříve uvedené podmínky)

Iterační metody Hledání průsečíku s osou x – metoda sečen Patří mezi semi-Newtonovské metody – pracuje podobně jako Newtonova metoda, ale místo derivace využívá pouze její aproximaci (směrnici přímky xi, xi-1) Princip: Vysvětlím na tabuli. Obrázek + odvození vzorce:

Iterační metody Hledání průsečíku s osou x – metoda sečen II Volba počátečních hodnot: x0 = a, x1 = b Výpočet xi+1 Vstup: x0, x1 Vlastní výpočet:

Iterační metody Hledání průsečíku s osou x – metoda sečen III Příklad: f(x) = x3 – x – 1 x0 = 1 x1 = 2

Iterační metody Hledání průsečíku s osou x – metoda sečen IV Zhodnocení: Výhody: Takřka kvadratická konvergence Nepoužívá druhou derivaci Nevýhody: V některých případech opět nekonverguje (xi+1 může vyjít mimo interval, kde funkce splňuje dříve uvedené podmínky)

Iterační metody Hledání průsečíku s osou x – půlení intervalu Princip: Vysvětlím na tabuli.

Iterační metody Hledání průsečíku s osou x – půlení intervalu II Volba počátečních hodnot: a0 = a, b0 = b Výpočet xi+1 (a také ai+1 a bi+1) Vstup: ai, bi Vlastní výpočet: IF f(xi+1) == 0 konec výpočtu, řešení: xi+1 IF f(xi+1).f(ai) < 0 ai+1 = ai ; bi+1 = xi+1 ELSE ai+1 = xi+1 ; bi+1 = bi

Iterační metody Hledání průsečíku s osou x – půlení intervalu III Největší nutný počet kroků pro získání hodnoty xn s přesností :

Iterační metody Hledání průsečíku s osou x – půlení intervalu IV Příklad: f(x) = x3 – x – 1 x0 = 1 x1 = 2

Iterační metody Hledání průsečíku s osou x – půlení intervalu V Zhodnocení: Výhody: Konverguje vždy!!! Dokážeme určit největší nutný počet kroků Nevýhody: Konverguje pomalu (lineární konvergence)

Iterační metody Hledání průsečíku s osou x – regula falsi Opět semi-Newtonovská metoda Využívá však stejný posun krajních bodů jako metoda půlení intervalů => zůstane v intervalu a0, b0 => konverguje vždy Princip: Vysvětlím na tabuli. Obrázek

Iterační metody Hledání průsečíku s osou x – regula falsi II Volba počátečních hodnot: a0 = a, b0 = b Výpočet xi+1 (a také ai+1 a bi+1) Vstup: ai, bi Vlastní výpočet: IF f(xi+1) == 0 konec výpočtu, řešení: xi+1 IF f(xi+1).f(ai) < 0 ai+1 = ai ; bi+1 = xi+1 ELSE ai+1 = xi+1 ; bi+1 = bi

Iterační metody Hledání průsečíku s osou x – regula falsi III Příklad: f(x) = x3 – x – 1 x0 = 1 x1 = 2

Iterační metody Hledání průsečíku s osou x – regula falsi IV Problém s metodou regula falsi Vysvětlím na tabuli. Princip modifikované metody regula falsi

Iterační metody Hledání průsečíku s osou x – modifikovaná regula falsi Volba počátečních hodnot: a0 = a, b0 = b Výpočet xi+1 (a také ai+1 a bi+1) Vstup: ai, bi Vlastní výpočet: IF f(xi+1) == 0 konec výpočtu, řešení: xi+1 IF f(xi+1).f(ai) < 0 ai+1 = ai ; fm(ai+1) = f(ai+1)/2 ; bi+1 = xi+1 ; fm(bi+1) = f(bi+1) ELSE ai+1 = xi+1 ; fm(ai+1) = f(ai+1) ; bi+1 = bi ; fm(bi+1) = f(bi+1)/2

Iterační metody Hledání průsečíku s osou x – modifikovaná regula falsi II Příklad: f(x) = x3 – x – 1 x0 = 1 x1 = 2

Iterační metody Praktický příklad: sin x = x/2 + 0,1 (1) Prostá iterace: Nalezení rekurzivní rovnice: Nějaké návrhy?

Iterační metody Praktický příklad: sin x = x/2 + 0,1 (2) Prostá iterace: Nalezení rekurzivní rovnice: xi+1 = 2 sin xi – 0,1 nefunguje xi+1 = asin (x/2 + 0,1) funguje: Je potřeba 18 iterací na 6 desetinných míst 1 0,100167 2 0,150653 3 0,176237 4 0,189246 5 ...

Iterační metody Praktický příklad: sin x = x/2 + 0,1 (3) Prostá iterace: Speciální rekurzivní rovnice:

Iterační metody Praktický příklad: sin x = x/2 + 0,1 (4) Prostá iterace: Speciální rekurzivní rovnice: x0 = 0 Je potřeba 4 iterace na 6 desetinných míst 0,2 0,202697 0,202771 0,202773

Iterační metody Praktický příklad: sin x = x/2 + 0,1 (5) Newtonova metoda: Úprava rovnice: f(x) = x/2 + 0,1 – sin x = 0 Najít v grafu vhodné x0 x0 = 0 f’(x) = ½ - cos x

Iterační metody Praktický příklad: sin x = x/2 + 0,1 (6) Newtonova metoda: Jsou potřeba 3 iterace na 6 desetinných míst 0,2 0,202772 0,202773

Iterační metody Praktický příklad: sin x = x/2 + 0,1 (7) Metoda regula falsi metoda: Úprava rovnice: f(x) = x/2 + 0,1 – sin x = 0 Najít v grafu vhodné a0 a b0 a0 = 0, b0 = 1

Iterační metody Praktický příklad: sin x = x/2 + 0,1 (8) Metoda regula falsi: Je potřeba 6 iterací na 6 desetinných míst 0,292851 0,205860 0,202860 0,202776 0,202774 0,202773

Iterační metody Praktický příklad: sin x = x/2 + 0,1 (9) Prostá iterace: xi+1 = asin (x/2 + 0,1) 18 iterací Prostá iterace: 4 iterace Newtonova metoda: 3 iterace Metoda regula falsi: 6 iterací