FAV-ZCU/KMA NM/Zkouška/02. okruh.md

4.8 KiB

Řešení nelineárních rovnic a jejich soustav. Metoda prosté iterace, podmínky konvergence, odhad chyby, rychlost konvergence. Newtonova metoda a její konvergence.

Nelineární rovnice

Formulace problému

  • Je dána spojitá funkce f: \mathbb{R} \to \mathbb{R} na intervalu \langle a,b \rangle.
  • Hledáme kořen rovnice x \in \langle a,b\rangle takové, aby f(x) = 0.

Metody řešení

  • startovací metody (vždy konvergují, ale většinou pomalu)
    • metoda bisekce (půlení intervalu)
    • metoda regula falsi
    • metoda prosté iterace
  • zpřesňující metody (konvergují rychleji, vyžadují dobrý odhad počáteční hodnoty)
    • Newtonova metoda
    • metoda sečen
  • speciální metody

Existence řešení

  1. reálná funkce f je spojitá pro x \in \langle a,b\rangle
  2. platí f(a) \cdot f(b) < 0, existuje tedy alespoň jedno řešení x rovnice f(x) = 0 na \langle a,b\rangle

Metoda prosté iterace (MPI)

Princip

  • původní rovnici f(x) = 0 přepíšeme na tvar x = \varphi(x)
  • to můžeme udělat spoustou způsobů
    • na volbě \varphi závisí konvergence a její rychlost

Algoritmus

  1. zvolíme x_{0} \in \langle a,b\rangle a \epsilon > 0
  2. x_{k+1} = \varphi(x_{k})
  3. zastavovací podmínka: |x_{k+1}-x_{k}| < \epsilon, pak x = x_{k+1}
    • vzdálenost dvou po sobě jdoucích iterací
    • neříká nic o tom, jak jsme daleko od kořenu

Volba \varphi(x)

  • závisí na ní konvergence a rychlost metody
  • je vhodné, aby se fce \varphi(x) co nejvíce blížila konstantní funkci
    • rada: začít s největší možnou odmocninou
    • u polynomu to bude fungovat vždy, u jiných fcí dobrá rada

Postačující podmínky konvergence MPI

  • funkce \varphi je spojitá na intervalu I = \langle a,b\rangle a platí
    1. funkce \varphi zobrazuje I do sebe
      • \forall x \in I : \varphi(x) \in I
    2. funkce \varphi je kontrakce
      • $\exists , q \in (0,1) : |\varphi(x)-\varphi(y)| \leq q|x-y| \quad \forall x,y \in I$e
      • tím si zajistíme, že každý další dílek je menší než ten předchozí
      • 2 po sobě jdoucí iterace jsou si k sobě čím dál blíž a blíž
  1. v intervalu I existuje právě jeden kořen \alpha rovnice x = \varphi(x)
  2. posloupnost \{x_{k}\}^\infty_{k=1} určená formulí x_{k} = \varphi(x_{k-1}) konverguje pro každé x_{0} \in I k přesnému řešení
  • pozn: pokud by nebyla funkce spojitá, vůbec by nemusela projít skrz y = x

Rychlost konvergence MPI

  • pokud je funkce diferencovatelná, lze pomocí Taylorova polynomu zjistit rychlost konvergence
  • \varphi'(\alpha) \neq 0 \implies rychlost konvergence je řádu 1
  • \varphi'(\alpha) = 0 a \varphi''(\alpha) \neq 0 \implies rychlost konvergence je řádu 2

Odhad chyby MPI

  • chyba = vzdálenost mezi přesným a získaným řešením ... |x_{k} - \alpha|
  • \displaystyle|x_{k}-\alpha| \leq \frac{q}{1-q}\epsilon
    • |x_{k} - x_{k-1}| = \epsilon
    • kvůli absolutní hodnotě nevíme z jaké strany od přesného řešení jsme
  • chceme, aby chyba byla rovna zastavovací podmínce nebo menší
  • čím menší q, tím menší bude chyba
    • je možné jej vypočítat derivací \varphi(x)

Newtonova metoda

Předpoklady

  • v intervalu I = \langle a,b\rangle leží právě 1 jednoduchý kořen \hat{x} rovnice f(x) = 0
  • máme zadáno x_{0} \in I
    • relativně blízko hledanému řešení - zpřesňující metoda
  • musí existovat derivace f' funkce f

Postup

  • uděláme Taylorův rozvoj funkce f v x_{0}
    • f(x) = f(x_{0}) + f'(x_{0})\cdot(x-x_{0}) + \frac{1}{2}f''(\xi)\cdot(x-x_{0})^2
  • dosadíme do f(x) = 0
    • f(x_{0}) + f'(x_{0})\cdot(x-x_{0}) = 0
      • (x-x_{0}) - předpis pro tečnu
  • vyjádříme x
    • \displaystyle x_{1} = x_{0} - \frac{f(x_{0})}{f'(x_{0})}
    • \displaystyle x_{k+1} = k_{k} - \frac{f(x_{k})}{f'(x_{k})} ... iterační formule

Zastavovací podmínka

  • dvě možnosti
  • vzdálenost 2 po sobě jdoucích iterací (na ose x)
    • |x_{k+1}-x_{k}| < \epsilon
  • velikost funkční hodnoty (na ose y)
    • |f(x_{k})| < \delta

Geometrický význam (metoda tečen)

  • křivky y = f(x) nahradíme tečnou procházející bodem x_{k}
  • hodnota x_{k+1} - průsečík tečny s osou x

Postačující podmínka konvergence

  • derivace funkce v kořenu není nulová ... f'(x) \neq 0
  • druhá derivace f'' nemění znaménko v I = \langle a,b\rangle
  • prochází bodem x, kde f(x) = 0
    • f(a)\cdot f(b) < 0
  • \displaystyle\left| \frac{f(a)}{f'(a)} \right| < b-a, \quad \left| \frac{f(b)}{f'(b)} \right| < b-a
  • poté Newtonova metoda konverguje pro \forall \, x_{0} \in I

Rychlost konvergence

  • konverguje obvykle rychleji než MPI
  • rychlost konvergence závisí na \varphi'(\alpha) resp. \varphi''(\alpha)
  • \varphi'(\alpha) = 0 a \varphi''(\alpha) \neq 0 \implies rychlost konvergence je řádu 2