1 / 30

Sylabus

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í

cirila
Télécharger la présentation

Sylabus

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. 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

  2. Písemka - termíny Poslední přednáška bude za týden (9.5.) Do 16.5. dodám na Internet a k Marečkovi všechny materiály + vzorovou písemku + opravím zbylé DCV Vypsala jsem tyto termíny: 24.5. v 16:30 7.6. v 16:30 14.6. v 16:30 Písemka bude trvat 2 hodiny, je povolena kalkulačka

  3. Minimalizace součtu čtverců- shrnutí Optimalizuje teoretický model tak, aby co nejvíce odpovídal naměřeným datům. => Minimalizuje odchylku modelu od naměřených hodnot. Využití: Všude, kde máme co do činění s analýzou nějakého přírodního nebo technického systému.

  4. Minimalizace součtu čtverců- shrnutí II Máme naměřená data: (ai, bi), i = 1, ..., m kde: aiÎ Rk bod měření bi hodnota, naměřená v bodě ai Chceme vytvořit matematický model M: Rk+n -> R, který je závislý na n volných parametrech x1, x2, ..., xn a pro který požadujeme, aby: M(ai, x) »bii = 1, ..., m => Musíme z naměřených hodnot dopočítat hodnoty parametrů JAK?: Pomocí minimalizace součtu čtverců

  5. Lineární úloha nejmenších čtverců- shrnutí Model M(ai, x) je lineární vzhledem k hledaným parametrům a lze tedy zapsat takto: M(ai, x) = f1(ai).x1 + ... + fn(ai).xn bi kde: i = 1, ..., mm je počet naměřených bodů (m ≥ n) f1, ..., fnjsou lineární funkce Pro odchylku modelu od reálného výsledku měření platí: => ri(x) = M(ai, x) - bi = f1(ai).x1 + ... + fn(ai).xn- bi Hledáme takové x, aby suma čtverců odchylek ri(xi) byla minimální:

  6. Lineární úloha nejmenších čtverců- shrnutí II • Metody řešení problému: • Využití minimalizace • Využití matice lineárních kombinací • Řešení rovnice ATAx = ATb • Vypočítat x přímo z této rovnice. • Využít Choleského faktorizaci. • Využít QR faktorizaci • Využít SVD (singular value decomposition)

  7. Řešení rovnice ATAx = ATb- využití Choleského faktorizace - obecně Pokud je matice M pozitivně definitní, pak pro ni může být vytvořena matice R tak, aby platilo: M = RT.R přičemž matice R je horní trojúhelníková matice. Proces vytvoření matice R se nazývá Choleského faktorizace matice M.

  8. Řešení rovnice ATAx = ATb- využití Choleského faktorizace – příklad 1 Proveďte Choleského faktorizaci matice M: Řešení: => m11 = r112 => r11 = 5 => m21 = r11.r21=> r21 = m21/r11 = 15/5 = 3 …

  9. Řešení rovnice ATAx = ATb- využití Choleského faktorizace – obecně II • Algoritmus: • Vypočítej matice C a c: • C = AT.A; c = AT.b • Poznámka: Matice A obsahuje 1 sloupec navíc (= první sloupec, tvořený čísly 1). • Najdi Cholského faktorizaci matice C: • C = RT.R • Získej x řešením rovnic: • RT.y = c (odtud získej y) • Rx = y (odtud získej x)

  10. Řešení rovnice ATAx = ATb- využití Choleského faktorizace – příklad 2 Měřením jsme získali 3 body: (2, 0, -1); (2, 1,-2) a (1, -1, 1) (m = 3) Chceme vytvořit model: M(si, (g, h, e)) = g.si1 + h.si2 + e Di Problém lze řešit pomocí rovnice x = (AT.A)-1.ATb a Chol. fakt.:

  11. Řešení rovnice ATAx = ATb- využití Choleského faktorizace – příklad 2 (2) Měřením jsme získali 3 body: (2, 0, -1); (2, 1,-2) a (1, -1, 1) (m = 3) Chceme vytvořit model: M(si, (g, h, e)) = g.si1 + h.si2 + e Di Problém lze řešit pomocí rovnice x = (AT.A)-1.ATb a Chol. fakt.: => h =-1; g = -1; e = 1 => f(si1, si2) = -si1 - si2 + 1

  12. Řešení rovnice ATAx = ATb- využití Choleského faktorizace – příklad 2 (2) Měřením jsme získali 3 body: (2, 0, -1); (2, 1,-2) a (1, -1, 1) (m = 3) Chceme vytvořit model: M(si, (g, h, e)) = g.si1 + h.si2 + e Di Problém lze řešit pomocí rovnice x = (AT.A)-1.ATb a Chol. fakt.:

  13. Řešení rovnice ATAx = ATb- využití Choleského faktorizace – zhodnocení • Výhoda: • Nižší časová složitost než u výpočtu přímo z rovnice (viz d.cv.) • Nevýhody: • Algoritmus není příliš numericky stabilní: • float(ATA) ≠ (ATA) • hodnota může být velká, pokud je velké • x* přesné řešení, odhad • navíc nelze určit, jak přesné je řešení

  14. Domácí úkol Určete (+zdůvodněte) časovou složitost řešení úlohy nejmenších čtverců pro metodu: a) Využití matice lineárních kombinací (to máme už od minule) b) Přímé řešení rovnice ATAx = ATb c) Řešení rovnice ATAx = ATb pomocí Choleského faktorizace Snažte se určit složitost co nejpřesněji (vzhledem k m a n) Do 16.5.2005 Každá část 2%

  15. Řešení rovnice ATAx = ATb- využití QR faktorizace - obecně Pokud má matice M  Rm x n, kde m ≥ n, hodnost n, pak pro ni mohou být vytvořeny matice R a Q tak, aby platilo: M = Q.R kde: R  Rn x n je horní trojúhelníková matice Q  Rm x n je ortogonální matice

  16. Řešení rovnice ATAx = ATb- využití QR faktorizace – obecně 2 • Algoritmus: • Vypočítej matice Q a R: • A = Q.R • Vypočítej d: • d = QT.b • Získej x řešením rovnice: • Rx = d

  17. Řešení rovnice ATAx = ATb- využití QR faktorizace – příklad Měřením jsme získali 3 body: (3, -6, -1); (4, -8,7) a (0, 1, 2) (m = 3) Chceme vytvořit model: M(ti, (e1, e2, e3)) = e1.ti1 + e2.ti2 + e3Vi Problém lze řešit pomocí rovnice x = (AT.A)-1.ATb a QR fakt.:

  18. Řešení rovnice ATAx = ATb- využití QR faktorizace – příklad (2) Měřením jsme získali 3 body: (3, -6, -1); (4, -8,7) a (0, 1, 2) (m = 3) Chceme vytvořit model: M(ti, (e1, e2, e3)) = e1.ti1 + e2.ti2 + e3Vi Problém lze řešit pomocí rovnice x = (AT.A)-1.ATb a QR fakt.:

  19. Řešení rovnice ATAx = ATb- využití QR faktorizace – příklad (2) Měřením jsme získali 3 body: (3, -6, -1); (4, -8,7) a (0, 1, 2) (m = 3) Chceme vytvořit model: M(ti, (e1, e2, e3)) = e1.ti1 + e2.ti2 + e3Vi Problém lze řešit pomocí rovnice x = (AT.A)-1.ATb a QR fakt.:

  20. Řešení rovnice ATAx = ATb- využití QR faktorizace – zhodnocení Výhody: Časová složitost nižší než u výpočtu přímo z rovnice (viz d.cv.) Větší numerická stabilita než u Choleského faktorizace. Nevýhody: Pomalejší než u Choleského faktorizace. Složitější implementace.

  21. Řešení rovnice ATAx = ATb- využití SVD (single value decomposition) - obecně Nechť M  Rm x n je matice řádu n, pak existují ortogonální matice U  Rm x n a V  Rm x n tak, že platí: M = U..VT kde 1≥ 2 ≥ … r > 0. Tento rozklad je určen jednoznačně.

  22. Řešení rovnice ATAx = ATb- využití SVD (single value decomposition) – obecně 2 Pro x potom platí následující: kde:

  23. Řešení rovnice ATAx = ATb- využití SVD (single value decomposition) – zhodnocení Výhody: Časová složitost nižší než u výpočtu přímo z rovnice (viz d.cv.) Větší numerická stabilita než u Choleského faktorizace. Nevýhody: Složitější implementace.

  24. Sumace- obecně • Úkol: • Vypočítat hodnotu výrazu • Postup: • Rekursivní sumace • Párová sumace • Sumace s vkládáním

  25. Sumace- rekursivní sumace • Vstup: • posloupnost čísel x1, …, xn • Algoritmus rekursivní sumace: • suma = 0 • for (i=1; i<=n; i++) • suma = suma + xi

  26. Sumace- párová sumace • Vstup: • posloupnost čísel x1, …, xn • Algoritmus párové sumace: • Krok 1) xi(1) = x2i-1 + x2i • Pokud je n liché, pak • Krok j) xi(j+1) = x2i-1(j) + x2i (j) • Probíhá v krocích. • Je možno realizovat paralelně nebo pomocí vektorů.

  27. Sumace- sumace vkládáním • Vstup: • posloupnost čísel x1, …, xn • Algoritmus párové sumace: • Čísla xi setřídíme: • Opakuj: • (a) t = x1+ x2 • (b) zařaď t do posloupnosti x3, ...xn

  28. Sumace- zobecnění předchozích 3 algoritmů • Vstup: • posloupnost čísel x1, …, xn • Obecný algoritmus: • Nechť S = {x1,…,xn} • WHILE |S| > 1 DO • Odstraň z S vybraná čísla x a y. • Přidej x + y do S. • DONE • Na konci získáme jednoprvkovou množinu S, obsahující číslo, které je sumou posloupnosti x1, …, xn

  29. Sumace- zhodnocení předchozích 3 algoritmů • Chyba kde: • je odhad Sn, získaný uvedeným algoritmem. • je definována takto: • kde: v i-tém běhu cyklu • přičemž u je relativní zaokrouhlovací chyba elementárních operací • => Pravidlo: Provádějte sčítání tak, aby se minimalizovaly • velikosti • => Lépe sčítat čísla vzestupně k jejich velikosti než sestupně.

  30. Sumace- sumace s korekcí • Algoritmus: • s = 0; e = 0 • for (i=1; i<=n; i++){ • tmp = s • y = xi + e (i-tý sčítanec + oprava chyby z minulého cyklu) • s = s + y • e = (tmp – s) + y (odhad chyby ve výrazu s+y) • } Toto se může výrazně lišit od –y (speciálně pokud je s daleko větší než y)

More Related