Prezentace se nahrává, počkejte prosím

Prezentace se nahrává, počkejte prosím

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

Podobné prezentace


Prezentace na téma: "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í."— Transkript prezentace:

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 dodám na Internet a k Marečkovi všechny materiály + vzorovou písemku + opravím zbylé DCV Vypsala jsem tyto termíny: v 16: v 16: 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: (a i, b i ), i = 1,..., m kde: a i  R k bod měření b i hodnota, naměřená v bodě a i Chceme vytvořit matematický model M: R k+n -> R, který je závislý na n volných parametrech x 1, x 2,..., x n a pro který požadujeme, aby: M(a i, x)  b i i = 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(a i, x) je lineární vzhledem k hledaným parametrům a lze tedy zapsat takto: M(a i, x) =  1 (a i ).x  n (a i ).x n  b i kde: i = 1,..., m m je počet naměřených bodů (m ≥ n)    n jsou lineární funkce Pro odchylku modelu od reálného výsledku měření platí: => r i (x) = M(a i, x) - b i =  1 (a i ).x  n (a i ).x n - b i Hledáme takové x, aby suma čtverců odchylek r i (x i ) 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 A T Ax = A T b  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 A T Ax = A T b - 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 = R T.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 A T Ax = A T b - využití Choleského faktorizace – příklad 1 Proveďte Choleského faktorizaci matice M: Řešení: => m 11 = r 11 2 => r 11 = 5 => m 21 = r 11.r 21 => r 21 = m 21 /r 11 = 15/5 = 3 …

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

10 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(s i, (g, h, e)) = g.s i1 + h.s i2 + e  D i Problém lze řešit pomocí rovnice x = (A T.A) -1.A T b a Chol. fakt.: Řešení rovnice A T Ax = A T b - využití Choleského faktorizace – příklad 2

11 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(s i, (g, h, e)) = g.s i1 + h.s i2 + e  D i Problém lze řešit pomocí rovnice x = (A T.A) -1.A T b a Chol. fakt.: => h = -1; g = -1; e = 1 => f(s i1, s i2 ) = -s i1 - s i2 + 1 Řešení rovnice A T Ax = A T b - využití Choleského faktorizace – příklad 2 (2)

12 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(s i, (g, h, e)) = g.s i1 + h.s i2 + e  D i Problém lze řešit pomocí rovnice x = (A T.A) -1.A T b a Chol. fakt.: Řešení rovnice A T Ax = A T b - využití Choleského faktorizace – příklad 2 (2)

13 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(A T A) ≠ (A T A) 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í Řešení rovnice A T Ax = A T b - využití Choleského faktorizace – zhodnocení

14 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 A T Ax = A T b c) Řešení rovnice A T Ax = A T b pomocí Choleského faktorizace Snažte se určit složitost co nejpřesněji (vzhledem k m a n) Do Každá část 2% Domácí úkol

15 Řešení rovnice A T Ax = A T b - využití QR faktorizace - obecně Pokud má matice M  R m 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  R n x n je horní trojúhelníková matice Q  R m x n je ortogonální matice

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

17 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(t i, (e 1, e 2, e 3 )) = e 1.t i1 + e 2.t i2 + e 3  V i Problém lze řešit pomocí rovnice x = (A T.A) -1.A T b a QR fakt.: Řešení rovnice A T Ax = A T b - využití QR faktorizace – příklad

18 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(t i, (e 1, e 2, e 3 )) = e 1.t i1 + e 2.t i2 + e 3  V i Problém lze řešit pomocí rovnice x = (A T.A) -1.A T b a QR fakt.: Řešení rovnice A T Ax = A T b - využití QR faktorizace – příklad (2)

19 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(t i, (e 1, e 2, e 3 )) = e 1.t i1 + e 2.t i2 + e 3  V i Problém lze řešit pomocí rovnice x = (A T.A) -1.A T b a QR fakt.: Řešení rovnice A T Ax = A T b - využití QR faktorizace – příklad (2)

20 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. Řešení rovnice A T Ax = A T b - využití QR faktorizace – zhodnocení

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

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

23 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. Řešení rovnice A T Ax = A T b - využití SVD (single value decomposition) – zhodnocení

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

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

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

27 Vstup: posloupnost čísel x 1, …, x n Algoritmus párové sumace: Čísla x i setřídíme: Opakuj: (a) t = x 1 + x 2 (b) zařaď t do posloupnosti x 3,...x n Sumace - sumace vkládáním

28 Vstup: posloupnost čísel x 1, …, x n Obecný algoritmus: Nechť S = {x 1,…,x n } 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 x 1, …, x n Sumace - zobecnění předchozích 3 algoritmů

29 Chyba kde: je odhad S n, 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ě. Sumace - zhodnocení předchozích 3 algoritmů

30 Algoritmus: s = 0; e = 0 for (i=1; i<=n; i++) { tmp = s y = x i + 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) } Sumace - sumace s korekcí Toto se může výrazně lišit od –y (speciálně pokud je s daleko větší než y)


Stáhnout ppt "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í."

Podobné prezentace


Reklamy Google