Numerika
Řešení nelineárních rovnic
V této kapitole si ukážeme některé metody pro přibližný výpočet jednoho reálného kořene rovnice
na intervalu [a,b] za předpokladu, že rovnice f(x) = 0 má na tomto intervalu reálné řešení.
Budeme se tedy zabývat otázkou, jak nalézt bod takový, aby .
Metody, které zde popíšeme, patří mezi iterační metody. Jejich princip spočívá v tom, že vedou k vytvoření tzv. iterační posloupnosti takové, že . Výpočet této limity však většinou není možný a proto se tato limita nahrazuje vhodným k-tým členem iterační posloupnosti tak, aby platilo
kde je předem dané kladné číslo (požadovaná přesnost řešení rovnice).
Podle způsobu konstrukce iterační posloupnosti budeme rozlišovat různé metody řešení. Výběr konkrétní metody bude záviset na vlastnostech funkce f na intervalu [a,b].
Metoda půlení intervalu
Tato metoda patří mezi nejjednodušší iterační metody. Její výhodou je velice jednoduchá konstrukce iterační posloupnosti a minimální požadavky na funkci f. Nevýhodou je pak malá rychlost konvergence iterační posloupnosti (pro dosažení větší přesnosti řešení je nutno nalézt velký počet členů iterační posloupnosti).
Předpokládejme, že funkce f je spojitá na intervalu [a,b] a platí (tedy v bodech a,b nabývá funkce hodnoty s opačným znaménkem). Z Bolzanovy věty víme, že potom existuje tak, že , tj. rovnice f(x) = 0 má na intervalu [a,b] alespoň jeden reálný kořen. Iterační posloupnost budeme konstruovat následujícím způsobem:
Najdeme střed intervalu [a,b]. Je-li , je a náhodně jsme nalezli hledaný kořen rovnice f(x) = 0. V opačném případě ze dvou vzniklých intervalů a vybereme ten, na kterém mají funkční hodnoty funkce f v krajních bodech intervalu opačná znaménka. Takový interval existuje právě jeden a opět podle Bolzanovy věty víme, že hledaný kořen rovnice bude ležet v tomto intervalu. Střed tohoto intervalu označíme a ze dvou vzniklých intervalů opět vybereme ten, na kterém mají funkční hodnoty funkce f v krajních bodech intervalu opačná znaménka. Takto postupně vytvoříme prvních k členů iterační posloupnosti .
Obr. 2
Členy této posloupnosti tedy tvoří vždy středy intervalů, jejichž délky se postupně zkracují, oproti předchozímu intervalu, na polovinu. Celý proces půlení intervalu ukončíme, jakmile délka posledního intervalu bude menší než . Přesné řešení rovnice f(x) = 0 potom budeme aproximovat středem tohoto posledního intervalu.
Metoda regula falsi
Tato metoda patří, podobně jako předchozí metoda půlení intervalu, mezi jednoduché metody.
Předpokládejme, že funkce f je spojitá na intervalu [a,b] a že platí . Podle Bolzanovy věty máme tedy opět zajištěnu existenci bodu tak, že , tj. rovnice f(x) = 0 má na intervalu [a,b] alespoň jeden reálný kořen.
Víme, že najít bod vlastně znamená najít průsečík grafu funkce y = f(x) a osy x. Princip vytváření iterační posloupnosti v této metodě spočívá v tom, že graf funkce y = f(x) budeme postupně na příslušném intervalu nahrazovat úsečkou a budeme hledat průsečík této úsečky s osou x.
Body [a,f(a)] a [b,f(b)] leží ve vzájemně opačných polorovinách vzhledem k ose x. Proto úsečka s těmito krajními body protíná osu x v bodě , kde
Je-li je a náhodně jsme nalezli hledaný kořen rovnice f(x) = 0. V opačném případě ze dvou vzniklých intervalů a vybereme ten, na kterém mají funkční hodnoty funkce f v krajních bodech intervalu opačná znaménka. Takový interval existuje právě jeden a opět podle Bolzanovy věty víme, že hledaný kořen rovnice bude ležet v tomto intervalu. Stejným způsobem, jako jsme na intervalu [a,b] nalezli bod , sestrojíme na vybraném intervalu bod a celý postup opakujeme.
Obr. 3
Takto postupně vytvoříme prvních k členů iterační posloupnosti. Proces ukončíme, až velikost vybraného intervalu bude menší než , kde je opět daná konstanta. Přesné řešení rovnice f(x) = 0 potom budeme aproximovat poslední nalezenou hodnotou .
Newtonova metoda
Newtonova metoda řešení rovnice f(x) = 0 patří již mezi metody, ve kterých jsou kladeny větší požadavky na funkci f, ale jejich výhodou je větší rychlost konvergence iterační posloupnosti (pro dosažení větší přesnosti řešení nám stačí relativně menší počet členů iterační posloupnosti). Navíc u Newtonovy metody vlastnosti iterační posloupnosti jsou závislé na volbě prvního členu této posloupnosti. Při nesprávně zvoleném prvním členu iterační posloupnosti se může stát, že tato posloupnost vůbec nebude konvergovat k hledanému bodu .
Předpokládejme, že funkce f je spojitá na intervalu [a,b], ale navíc má na tomto intervalu spojitou první a druhou derivaci a . Předpokládejme dále, že tyto derivace na celém intervalu [a,b] nemění znaménko, tj. je a . Tedy funkce f je na celém intervalu [a,b] stále rostoucí (nebo klesající) a konvexní (nebo konkávní). A tak jako v předchozích případech je . (Tato podmínka, společně s monotonií funkce f, nám zajistí, že na intervalu [a,b] existuje právě jeden bod tak, že , tj. rovnice f(x) = 0 má na intervalu [a,b] právě jeden reálný kořen.) Potom platí právě jedna z následujících nerovností
(1)
Za první člen iterační posloupnosti zvolíme ten z krajních bodů intervalu [a,b], ve kterém je tato nerovnost splněna. Další členy iterační posloupnosti pak získáme pomocí rekurentního vzorce
tj.
Geometricky si Newtonovu metodu můžeme odvodit následujícím způsobem:
Obr. 4
Obr. 5
Ke grafu funkce vedeme v bodě tečnu. Tato tečna protne osu x v bodě . Zvolíme-li tak, aby byla splněna podmínka (1), bude .
Nyní celý proces opakujeme: Bodem vedeme tečnu ke grafu funkce f a tato tečna protne osu x v bodě . Opakováním tohoto postupu získáme prvních k členů iterační posloupnosti. Proces zastavíme když pro předem daná , bude platit a . Přesné řešení rovnice f(x) = 0 potom budeme aproximovat poslední nalezenou hodnotou .