Řešení nelineárních rovnic Metody sečen (sekantová a regula falsi) Máme dva body x 1 a x mezi nimiž se nachází kořen Nový bod x 3 volíme v průsečíku spojnice bodů x 1, f x 1 a x, f x (sečny) s osou x ERRBISPAS k minulé hodině Sekantová metoda v následujícím kroku vždy používáme body x, x 3 Ohraničení kořene tedy nemusí zůstat zachováno a není zaručena konvergence V blízkosti kořene je ale rychlejší Pro konvergenci platí lim k1 =C k 1618 k Regula falsi zachovává ohraničení kořene, v následujícím kroku tedy vezme x 3 a takový z bodů x 1, x, aby platilo f x 3 f x 1 0 nebo f x 3 f x 0 Konvergence je tedy zaručena Metoda je pomalejší než sekantová, ale je stále superlineární (tzn k1 =C k m, kde m1 ) Na obrázku nahoře, je naznačen problém, se kterým se mohou metody používající sečnu setkat Pokud je interval velký a krajní body jsou daleko od kořene, může být konvergence těchto metod velmi pomalá Brentova metoda založena na přepínání mezi metodou půlení intervalu a superlineární metodou Pokud jsme daleko od kořene, používá se metoda půlení intervalu ke zmenšení intervalu ohraničujícího kořen Jako superlineární metoda se používá metoda Inverzní kvadratické interpolace
Řešíme rovnici f x=0 s ohraničením kořene v intervalu x 1, x K funkci f x=y uděláme funkci inverzní x=gy a tu nahradíme na tomto intervalu Lagrangeovým interpolačním polynomem druhého řádu (tzn použijeme navíc jeden vnitřní bod intervalu y 1, y například hodnotu ve středu intervalu x 1, x, y 3 ) Položíme pak x=l 0 (hledáme x takové, že f x=y=0 ) a z této rovnice vyjádříme x přibližné řešení rovnice Dále můžeme postupovat např tak, že nové x zvolíme za jeden z krajních bodů intervalu, ohraničujícího kořen, a jako druhý zvolíme jeden z bodů x 1, x tak, aby zůstalo ohraničení kořene zachováno a postupujeme stejně jako na začátku Lagrangeův polynom na bodech y 1, y, y 3 vyjádříme v bodě y=0 y y y x=l y=x 1 y 1 y y 1 x y y y y x y y y 3 y 3 y 3 y y y 3 x=l 0=x 1 y 1 y y 1 x y 1 y 3 y y x y 1 y 3 y 3 y 3 y Vztah se dá ještě rozepsat do podoby x=x 3 P Q ( x 3 bylo zvoleno jako střed intervalu x 1, x ) R= y 3, S= y 3, T = y 1, Q=T 1R 1S 1, y y 1 y P=S [T R T x x 3 1 Rx 3 x 1 ] (ze skript) Příklady v PASCALU DEMZBRENPAS, DEMZB1PAS Newton-Raphsonova metoda (metoda tečen) Využívá první derivaci funkce, hodí se pokud jsme schopni tuto derivaci rychle počítat Řešíme f x=0 a pohybujeme se u okolí bodu x řešení rovnice Pak můžeme f x nahradit Taylorovým rozvojem v okolí bodu x=x i f x= f x i = f x i f ' x i =0 Z toho tedy plyne, že = f x i f ' x i Proto volíme x i1 =x i =x i f x i Pro přesnost řešení se dá odvodit přibližný f ' x i vztah i1 f '' x i 1 a jde tedy o metodu kvadratickou, velmi rychlo v blízkosti f ' x i
kořene Konvergence není u této metody zaručena Kořeny polynomů Máme polynom f x=a n x n a n 1 x n 1 a 1 xa 0 =0, kde a n 0 Ohraničení kořene a 0 všechny kořeny jsou v mezikruží B a 0 x 1 A, kde a n A=max { a n 1, a n,, a 0 } a B=max { a n, a n 1,, a 1 } pokud a n 0 a a n k je první záporný koeficient v polynomu, platí pro všechna x i 0 (kladné kořeny), že x i R=1 k A a n A=max a j, a j 0 j, kde Druhý bod lze po substitucích využít i k dalším odhadům: substituce y= 1, odhad minimálního kladného kořene x substituce y= x omezí v absolutní hodnotě největší záporný kořen substituce y= 1 x omezí v absolutní hodnotě nejmenší záporný kořen Sturmova věta Sturmova posloupnost polynomů ja následující : f 0 x= f x, f 1 x= f ' x, f i1 x= zbytek po dělení f i 1 x f i x Poslední člen posloupnosti f k je konstantní Např f x=4 x 3 x 4 x 3=0 f 0 x=4 x 3 x 4 x 3 f 1 x=3 x x 1 f x=6 x 9 f 3 x= 1 Věta: Nechť aglebraická rovnice má pouze jednoduché kořeny Potom počet reálných kořenů na intervalu, je roven počtu znaménkových změn ve Sturmově posloupnosti
f 0,, f k Pro násobné kořeny dostaneme f k =0 Pokud chceme použít Sturmovu větu, dělíme rovcnici polynomem f k 1 a na novou rovnici už můžeme Sturmovu větu použít K příkladu nahoře f 3 = 1, tedy neexistují násobné kořeny x 0 sgn f 0 x + + sgn f 1 x + + + sgn f x + + + sgn f 3 x n zmen 1 1 Počet znaménkových změn v bodech a je jedna Zadaný polynom má tedy na tomto intervalu jeden reálný kořen Totéž platí i o intervalu 0, Hledání kořene Mullerova metoda Opět v bodech x i, x i 1, x i interpolujeme zadaný polynom polynomem kvadratickým Lagrangeovým s ekvidistantními uzly t 3t 4 t t 3 L x=y i y i 1 t t 4y, zde volíme t= x x i x i x i 1 Hledáme L x=0=at B tc Na tuto rovnici nejdříve použijeme substituci u= 1 t a dostaneme AB uc u =0 s kořeny [ u 1, = B± B 4 AC C ] x=x i x i x i 1 t=x i x i x i 1, kde C B± B 4 AC volíme + nebo tak, aby byla maximální absolutní jmenovatele
Postup pro počítání koeficientů A, B, C viz slidy Laguerrova metoda Polynom P n x= x x 1 x x x x n má logaritmus ln P n x =ln x x 1 ln x x n Definujeme G= P ' n = d lnp x n P n dx H=[ P ' ] n P n P '' n P n = 1 x x 1 1 x x n, = d lnp n x = 1 dx x x 1 1 x x n Nyní položíme a=x x 1 a pro ostatní kořeny přibližně b~x x i Pak G= 1 a n 1, H = 1 b a n 1 a pro a máme tedy vztah b n a= G±n 1nH G Znaménko ve výrazu pro a opět volíme tak, aby byl jmenovatel v absolutní hodnotě největší Můžeme dostat komplexní mezivýsledky Hledání dalších kořenů polynomů Sníží se stupeň polynomu vydělením Soustavy nelineárních rovnic
Obecně velmi obtížné, pokud je to možné, převedeme na úlohu hledání extrému f x=0, pokud je V x f i = x i pro všechna i, hledáme extrém potenciálu Prostá iterace Soustavu f x=0 převedeme na tvar x= x, tzn f 1 x 1,, x n =0 x 1 = 1 x 1,, x n f n x 1,, x n =0 x n = n x 1,, x n Iterační vzorec pro hledání kořene je pak x k1 = x k Postačující podmínka konvergence je, aby zobrazení bylo kontrahující na okolí řešení Pokud existují všechny parciální derivace v okolí řešení, lze podmínku zapsat J x q1, kde J je Jakobián Newton Raphsonova metoda PRMNLPAS Podobná jako v 1D x k1 =x k [Jf x k ] 1 f x k Při dobrém odhadu intervalu metoda konverguje DEMNEWTPAS, DEMNEWTPAS, DEMNEWTAPAS