Přejít na obsah
Domů

Newtonova-Raphsonova metoda: jak najít nuly funkce iterativně

Newtonova‑Raphsonova metoda: praktický návod, jak iterativně najít nuly funkce, vysvětlení vzorce, grafika, příklady a tipy pro rychlou konvergenci.

Newtonova metoda umožňuje najít reálná nuly funkce. Tento algoritmus se někdy nazývá Newtonova‑Raphsonova metoda, pojmenovaná podle sira Isaaca Newtona a Josepha Raphsona.

Galerie obrázků

5 Obrázky

Princip metody

Metoda využívá k nalezení kořenů funkce její derivace. Je třeba provést počáteční odhad hodnoty umístění nuly, označený x0. Z tohoto odhadu se iterativně vypočítávají nové odhady podle vzorce:

x n + 1 = x n - f ( x n ) f ′ ( x n ) {\displaystyle x_{n+1}=x_{n}-{\frac {f(x_{n})}{f'(x_{n})}}} {\displaystyle x_{n+1}=x_{n}-{\frac {f(x_{n})}{f'(x_{n})}}}

Zde xn je aktuální odhad a xn+1 další odhad. Iterací (tj. opakovaným dosazováním xn+1 jako nového xn) získáme posloupnost, která se za příznivých podmínek blíží skutečné nule funkce.

Geometrická interpretace

Graficky se metoda vysvětluje pomocí průsečíků tečných přímek s osou x. Pro daný bod xn nakreslíme tečnu k funkci f. Průsečík této tečny s osou x dává xn+1. Opakováním tohoto kroku „sjíždíme“ po tečně k hledané nule.

Konvergence a vlastnosti

  • Kvadratická konvergence: Pokud je f dvakrát spojitě diferencovatelná v okolí kořene α a f'(α) ≠ 0, pak Newtonova metoda konverguje kvadraticky — počet správných platných číslic přibližně dvojnásobně roste při každé iteraci poblíž kořene.
  • Rychlost: Díky kvadratické konvergenci je metoda velmi rychlá, pokud je počáteční odhad dostatečně blízko skutečnému řešení.
  • Rozšíření: Metodu lze snadno zobecnit i do komplexní roviny pro hledání komplexních kořenů.

Omezení a možné problémy

  • Derivace nulová: Pokud se v některém kroku f'(xn) = 0 (nebo velmi blízko nule), vzorec selže (dělení nulou) nebo numericky zhorší odhad. To může vést k velkým skokům či divergenci.
  • Citlivost na počáteční odhad: Špatně zvolený x0 může způsobit, že metoda bude konvergovat k jinému kořenu, bude oscilovat nebo bude divergovat.
  • Singularity a vícenásobné kořeny: Pro kořeny s násobností >1 konvergence obvykle není kvadratická, často je pouze lineární nebo může být pomalejší.
  • Lokální, ne globální: Newtonova metoda není samo o sobě zaručeně globálně konvergentní — zaručené metody pro nalezení kořenů (např. bisekce) používají obvykle jiné přístupy.

Praktická doporučení a modifikace

  • Před implementací zkontrolujte, zda f'(x) není v některém kroku blízko nuly; v takovém případě použijte jinou metodu nebo modifikaci.
  • Pro lepší globální chování lze použít damped (relaxovanou) verzi: xn+1 = xn − λ f(xn)/f'(xn) s 0 < λ ≤ 1, kde λ se volí adaptivně (line search) tak, aby se zajistilo zlepšení.
  • Secant metoda je alternativa, která nepoužívá explicitně derivaci (používá aproximaci derivace dvou předchozích bodů) — užitečné, když je výpočet derivace složitý nebo nepraktický.
  • V kódu vždy nastavte maximální počet iterací a toleranci pro zastavení, např. |xn+1 − xn| < tol nebo |f(xn)| < tol.

Algoritmus (krok za krokem)

  1. Zvolte počáteční odhad x0, toleranci tol a maximální počet iterací N.
  2. Pro n = 0,1,2,... do N − 1 proveďte:
    1. Vypočítejte f(xn) a f'(xn).
    2. Pokud |f'(xn)| je velmi malé, zvažte ukončení nebo změnu metody.
    3. Vypočítejte xn+1 = xn − f(xn)/f'(xn).
    4. Pokud |xn+1 − xn| < tol nebo |f(xn+1)| < tol, ukončete s úspěchem.
  3. Pokud nebylo dosaženo tolerance do N iterací, považujte výsledek za nedostatečný nebo změňte počáteční odhad.

Příklad

Najděme kladnou nulu f(x) = x2 − 2 (tj. sqrt(2)). Iterační vzorec je xn+1 = xn − (xn2 − 2)/(2 xn) = (xn + 2/xn)/2.

Při x0 = 1 dostaneme:

  • x1 = (1 + 2/1)/2 = 1.5
  • x2 = (1.5 + 2/1.5)/2 ≈ 1.4166667
  • x3 ≈ 1.4142136 (již přesná na 7 desetinných míst)

Tento příklad ilustruje rychlou (kvadratickou) konvergenci Newtonovy metody, pokud je počáteční odhad rozumný.

Závěr

Newtonova‑Raphsonova metoda je účinný a rychlý nástroj pro hledání kořenů, zvláště když jsou k dispozici derivace a počáteční odhad je blízký řešení. V praxi je však potřeba dbát na možná rizika — zejména na body, kde je derivace malá nebo nulová — a v případě potřeby použít modifikace či kombinovat s jinými metodami pro zajištění spolehlivosti.

Problémy s Newtonovou metodou

Newtonova metoda dokáže najít řešení rychle, pokud odhadovaná hodnota začíná dostatečně blízko požadovaného kořene. Pokud však počáteční odhadovaná hodnota není blízko a v závislosti na funkci, může Newtonova metoda najít řešení pomalu nebo vůbec.

Další čtení

  • Fernández, J. A. E., & Verón, M. Á. H. (2017). Newtonova metoda: An updated approach of Kantorovich's theory (Aktualizované přiblížení Kantorovičovy teorie). Birkhäuser.
  • Peter Deuflhard, Newtonovy metody pro nelineární problémy. Affine Invariance and Adaptive Algorithms, druhé tištěné vydání. Series Computational Mathematics 35, Springer (2006)
  • Yamamoto, T. (2001). "Historický vývoj v analýze konvergence Newtonových a Newton-like metod". In Brezinski, C.; Wuytack, L. (eds.). Numerical Analysis : Historical Developments in the 20th Century [Numerická analýza : historický vývoj ve 20. století]. North-Holland. s. 241-263.

Viz také

  • Kantorovičova věta (tvrzení o konvergenci Newtonovy metody, které objevil Leonid Kantorovič)

Kontrola úřadu Edit this at Wikidata

Otázky a odpovědi

Otázka: Co je to Newtonova metoda?

A: Newtonova metoda je algoritmus pro hledání reálných nul funkce. K výpočtu kořenů funkce používá její derivaci a vyžaduje počáteční odhad hodnoty polohy nuly.

Otázka: Kdo tuto metodu vyvinul?

Odpověď: Metodu vyvinuli sir Isaac Newton a Joseph Raphson, proto se někdy nazývá Newtonova-Raphsonova metoda.

Otázka: Jak tento algoritmus funguje?

Odpověď: Tento algoritmus funguje tak, že se opakovaně použije vzorec, který přijme počáteční odhadovanou hodnotu (xn) a vypočítá nový odhad (xn+1). Opakováním tohoto procesu se odhady přiblíží nule funkce.

Otázka: Co je třeba k použití tohoto algoritmu?

Odpověď: Chcete-li použít tento algoritmus, musíte mít počáteční "odhadovanou hodnotu" polohy nuly a také znalosti o derivaci dané funkce.

Otázka: Jak lze Newtonovu metodu vysvětlit graficky?

Odpověď: Newtonovu metodu můžeme graficky vysvětlit tak, že se podíváme na průsečíky tečných přímek s osou x. Nejprve se vypočítá přímka tečná k f v bodě xn. Poté najdeme průsečík této tečny s osou x a jeho polohu x zaznamenáme jako další odhad - xn+1.

Otázka: Existuje nějaké omezení při použití Newtonovy metody?

Odpověď: Ano, pokud je počáteční hodnota odhadu příliš vzdálená od skutečného kořene, může to trvat déle nebo se dokonce nepodaří konvergovat ke kořeni kvůli oscilacím kolem něj nebo divergenci od něj.

Autor

AlegsaOnline.com Newtonova-Raphsonova metoda: jak najít nuly funkce iterativně

URL: https://cs.alegsaonline.com/art/69826

Sdílet