NM_skripta

Embed Size (px)

Citation preview

1 1.METODE RJEAVANJA NELINEARNE JEDNADBE S JEDNOM NEPOZNANICOM 1.1 METODA BISEKCIJE 1.1.1 METODA Nakon poetnog istraivanja funkcije poznati su nam d lx x < , tako da je:0 ) ( ) ( < d lx f x f . Kako moe izgledati f na intervalu[ ]d lx x , ? Ako je funkcija neprekinuta mora presjei x-os barem jednom, odnosno postoji barem jedan realni korijen izmeu lx i dx . Kako mu se pribliiti? Raspolovimo interval: 2d lsx xx+= 2 Ako je0 ) ( =sx f , tada je sx traeni korijen sx x =0, a ako ne gdje je 0x ? Ako je0 ) ( ) ( < s lx f x f , tada je[ ]s lx x x ,0 . Ako je0 ) ( ) ( < d sx f x f , tada je[ ]d sx x x ,0 . Uobasluajadobijemonoviintervalupolamanjiodprethodnogukomeje 0x .Akonastavimo postupak poloaj korijena je bolje poznat. Ime metode : bisection method = binary choping = interval halving = Bolzanos method 1.1.2 KONVERGENCIJA Ako je funkcija neprekinuta, konvergencija metode je sigurna. Brzina konvergencije: gornja ocjena greke u i-tom koraku je oito: ) ( ) ( idil ix x = , pa je:21ii =+ . Tako ako elimo nai 0xs tonoumoramo uiniti n koraka, tj. 0 22121......2121 = = = = = nn n n (0 - poetna greka), odnosno: 02log = n. 1.1.3SVOJSTVA 1) Ako funkcija ima prekid na[ ]d lx x ,moe biti0 ) ( ) ( < d lx f x fi bez korijena u tom intervalu, pa metoda nee konvergirati. 3 2)Kada konvergira, konvergira dosta sporo, tj. ima brih metoda. 1.1.4 PSEUDOKOD Dabisezatitiliodmoguedivergencijenafunkcijamasprekidom,najboljejekaokriterij zaustavljanja uzeti( ) ) IF ( f(xl) f(xs) < 0 ) xd=xs ELSE xl=xs ENDIF ENDIF WHILE (err>) and (der ) x1=x2 ENDIF ENDIF WHILE (|df|>TINY ) and ( err> ) and ( iter>maxit ) 7 1.3 METODA SEKANTE 1.3.1 METODA Pretpostavimo da su nam poznate dvije toke 1x i 2xkoje su blizu traenog korijena, tada moemo funkcijuf zamijeniti pravcem kroz toke( ) ) ( ,1 1x f xi( ) ) ( ,2 2x f xtj. sekantom. Mjesto gdje sekanta sijee x-os lako izraunamo: ) ( ) () ( ) ( ) ( ) (2 12 1 12 33 221 31x f x fx x x fx xx xx fx xx f = = Da li je 3xblie korijenu? U iterativnom postupku ideju sekante moemo koristiti na dva naina: 1) Ako su 1 ix i ix dva uzastopna priblina rjeenja uzmimo za idue: ) ( ) () ( ) (111i ii i ii ix f x fx x x fx x =+ 8 Ime metode: metoda sekante 2)Akosu lx i dx takvidaje0 ) ( ) ( < d lx f x f umjestodadijelimointerval[ ]d lx x , usredini dijelimo ga tamo gdje sekanta sijee x-os tj. u:) ( ) () ( ) (d ld l dd sx f x fx x x fx x =i zatim nastavljamo kao u metodi bisekcije tj.: ako je s d s lx x x f x f = < 0 ) ( ) ( , a ako je s l s dx x x f x f = < 0 ) ( ) ( . Ime metode: false position method=regula falsi=linear interpolation method 1.3.2 KONVERGENCIJA 1) Metoda sekante: moe se pokazati da je:618 , 11 i ic =+ (1.618 = golden ratio) 2)Regulafalsimetoda:buduidajeboljaodmetodebisekcijeimabaremlinearnu,aestoi superlinearnu konvergenciju. 9 1.3.3 SVOJSTVA 1)Metodasenkante:evaluacija 'f jeunekimsluajevimanemogua,pajetadaodNewton-Raphsonove bolja ova metoda. To se meutim plaa sporijom konvergencijom (s reda 2 padamo na red 1,618). Metoda moe divergirati iz slinih razloga (tj. zbog lokalnog ponaanja) ba kao i Newton-Raphsonova matoda. 2)Regula falsi metoda: ako je) (lx fblie 0 nego) (dx f vjerojatnije je da je 0xblie lxnego rx , tometodabisekcijeneuzimauobzir,aregulafalsimetodada!Zatojeovametodaboljaod metodebisekcijetj.brekonvergira,aistokaoimetodabisekcijenemoedivergiratiza f neprekidne. 10 3)Usporedbametodesekanteiregulafalsimetoda:kadakonvergirametodasekantekonvergira bre, ali moe divergirati dok se to sa regula falsi metodom ne moe dogoditi! Ima funkcija na kojima su obje metode spore i ak slabije od metode bisekcije: 1.3.4 PSEUDOKOD 1) Metoda sekante iter=0 DO iter=iter+1 d=f(x1)-f(x2) IF (|d|>TINY) x3=x2-f(x2)(x1-x2)/d err=|f(x3)| IF (err > ) x1=x2 x2=x3 ENDIF ENDIF WHILE (|d|>TINY) and (err > ) and (iterTINY) xs=xd-f(xd)(xl-xd)/d err=|f(xs)| IF (err > ) IF (f(xl)f(xs) TINY ) and (err > ) and (iter ) x1=x2 ENDIF WHILE ( err> ) and ( iter super-strategija preporuljiva za svefza koje ne moemo raunati 'f . 14 2.SUSTAVI LINEARNIH JEDNADBI 2.1METODA GAUSSOVE ELIMINACIJE 2.1.1 METODA Prisjetimo se metode eliminacije i formalizirajmo je! = + + + += + + + += + + + += + + + += + + + +n n nn n n ni n in i i in nn nn nc x a x a x a x ac x a x a x a x ac x a x a x a x ac x a x a x a x ac x a x a x a x a 3 3 2 2 1 13 3 2 2 1 13 3 3 33 2 32 1 312 2 3 23 2 22 1 211 1 3 13 2 12 1 11

11 1/ a ai 1.korak: jiij ijaaaa a1111 ) 1 ( = ,n i , , 2 = , n j , , 2 =1111 ) 1 (caac cii i = ,n i , , 2 = = + + += + + += + + += + + += + + + +) 1 ( ) 1 (3) 1 (3 2) 1 (2) 1 ( ) 1 (3) 1 (3 2) 1 (2) 1 (3) 1 (3 3) 1 (33 2) 1 (32) 1 (2) 1 (2 3) 1 (23 2) 1 (221 1 3 13 2 12 1 11n n nn n ni n in i in nn nn nc x a x a x ac x a x a x ac x a x a x ac x a x a x ac x a x a x a x a

) 1 (22) 1 (2/ a ai 2.korak: ) 1 (2) 1 (22) 1 (2 ) 1 ( ) 2 (jiij ijaaaa a = ,n i , , 3 = , n j , , 3 =) 1 (2) 1 (22) 1 (2 ) 1 ( ) 2 (caac cii i = ,n i , , 3 =15 = + += + += + += + + += + + + +) 2 ( ) 2 (3) 2 (3) 2 ( ) 2 (3) 2 (3) 2 (3) 2 (3 3) 2 (33) 1 (2) 1 (2 3) 1 (23 2) 1 (221 1 3 13 2 12 1 11n n nn ni n in in nn nn nc x a x ac x a x ac x a x ac x a x a x ac x a x a x a x a

) 2 (33) 2 (3/ a ai == + += + + += + + + + ) 1 ( ) 1 () 2 (3) 2 (3 3) 2 (33) 1 (2) 1 (2 3) 1 (23 2) 1 (221 1 3 13 2 12 1 11nn nnnnn nn nn nc x ac x a x ac x a x a x ac x a x a x a x a Budui da elimo napisati kompjuterski program najvanije je napisati izraz za promjenu ija -ova i ic -ova u proizvoljnomk -tom koraku: ) 1 () 1 () 1 () 1 ( ) ( =kkjkkkkik kijkijaaaa a ,n k i , , 1 + = , n k j , , 1 + =) 1 () 1 () 1 () 1 ( ) ( =kkkkkik kikicaac c ,n k i , , 1 + =1 , , 2 , 1 = n k Kadasmoovakvomeliminacijomunaprijed(forwardelimination)dolidogornjetrokutastog sustava, uvrtavanjem unazad (back substitution) jednostavno dobivamo rjeenje: ) 1 () 1 (=nnnnnnacx ) 2 (1 , 1) 2 (, 1) 2 (11 =nn nnnn nnnnax a cx ) 3 (2 , 2) 3 (, 2 1) 3 (1 , 2) 3 (22 =nn nnnn n nnn nnnnax a x a cxitd. odnosno openito: : : 16 ) 1 (1 1) 1 ( ) 1 (+ = =iiinjjiijiiiax a cx , 1 , 2 , , 2 , 1 , = n n n i . Ime metode: forward elimination+back substitution=naive Gauss elimination Zato naivna? Oito,imavelikinedostatakneuzimauobzirmogunostdajenekioddijagonalnihelemenata jednak 0, a tada imamo u formulama dijeljenje s nulom! Problem se moe rijeiti pivotiranjem. Ako uk -tom koraku eliminacije0 t) koeficijen pivot() 1 (= = kkka treba prvo gledati ostale koeficijente u tom stupcu i ako je npr.0) 1 (, 1+kk kazamjenjujemo retke: = + += + += + += + += + + + +++ ) 1 ( ) 1 ( ) 1 () 1 (1) 1 (, 1) 1 (, 1) 1 ( ) 1 ( ) 1 () 1 (2) 1 (2 2) 1 (221 1 2 12 1 11kn nknn kknkkk nkn k kkk kkk nkkn kkkkn nn nc x a x ac x a x ac x a x ac x a x ac x a x a x a . Akosumeutimsvi0) 1 (= kika ,n k k i , , 1 , + = tadatrebagledatiostalekoeficijenteutoj jednakosti, i ako je npr.0) 1 (1 ,+kk kazamjenjuje stupce: ) 1 ( ) 1 (1) 1 (1 ,) 1 ( ++= + + +kk nkkn kkk k kkkkc x a x a x a . Uoimodazamjenaredakanemijenjarjeenjesustavaalizamjenastupacamijenjaredoslijed nepoznatih nx x x , , ,2 1 . Ime dodatka na metodu: djelomino pivotiranje(retci) potpuno pivotiranje(retci i stupci) 2.1.2SVOJSTVA KadanaivnuGaussovueliminacijuobogatimopivotiranjemdobivamojedanodnajvanijih algoritama za rjeavanje sustava linearnih jednadbi.Paipakprikompjuterskojimplementacijinemoemooekivatidaemodobititonorjeenje. Pogrekezaokruivanjanagomilavajuseipoveavajukrozvelikibrojoperacijateposebnomogu postati nezanemarive kod jako velikih sustava. Pri tome se svi sustavi nee jednako ponaati. Kod nekihmalepromjenenajednomiliviekoeficijenatauzrokujuvelikepromjeneurjeenju.Takve sustavezovemoslabouvjetovanima(ill-conditioned)ikodnjihmalegrekezaokruivanjau koeficijentima mogu dovesti do velikih odstupanja od tonog rjeenja.Kako prepoznati takve sustave? 17 Tosublizusigularnisustavi,tj.0 ) det( A ,apostojiiboljemjerazatosvojstvotzv.kondicija matrice: 1) ( Cond = A A A , gdje je: = ==ninjija A1 12 norma matrice.Moe se pokazati da vrijedi: AAAXX ) ( Cond . Interpretirajmo:Akojegrekazaokruivanjakoeficijenata( A )reda t 10 a) ( CondA reda c10tada rjeenje moe imati samoc t tonih decimala! Mogui lijek je sljedei. Neka su ixtona rjeenja, a ix~ izraunata rjeenja tako da je: i i ix x x + =~. Kako moemo izraunati popravak? = ix( )inji ij inji i ijnji ijE x a c x x a x a = = = = = = 1 1 1~ ~,n i , , 1 =Ovo je linearni sustav zaix -ove koji se moe rijeiti i onda popraviti ix~, vie puta ponovljen ovaj postupak moe pribliiti izraunato rjeenje tonome (tzv. iterativ refinement). 2.1.4PSEUDOKOD Uoimo: -eliminacija se moe raditi u iste ija -ove iic -ove, -pivotiranje se mora ubaciti na poetak svakog koraka eliminacije, -veina programa radi samo parcijalno pivotiranje i to ne fiziku zamjenu redaka nego pamtei u pomonom vektoru vezu izmeu poetnog i izmijenjenog redoslijeda jednadbi. eliminacija unaprijed: DOFOR k=1 to n-1 DOFOR i=k+1 to n factor=aik/akk DOFOR j=k+1 to n aij=aij-factor*akj ENDDO ci=ci=factor*ck ENDDO ENDDO 18 supstitucija unatrag: DOFOR i=n to 1 step 1 sum=0 DOFOR j=i+1 to n sum=sum+aij*xj ENDDO xi=(ci-sum)/aii ENDDO parcijalno pivotiranje: pivot=k big=|akk| DOFOR ii=k+1 to n IF ( |aii,k|>big ) pivot=ii big=|aii,k| ENDIF ENDDO IF ( pivot k ) DOFOR jj=k to n swap (apivot,jj,ak,jj) ENDDO swap (cpivot,ck) ENDIF 2.1.5DODATAK: GAUSS-JORDANOVA METODA Akoufazieliminacijevarijablueliminiramoizsvihdrugihjednakostianesamosljedeihtesve redovenormaliziramo(dijeljenjemspivotkoeficijentima)nakrajuemodobitiumjestogornje trokutastejedininumatricuifazasupstitucijebitesuvina.OvakvainaicaGaussovemetodeje tzv. Gauss-Joradnova metoda.PrednostjojjetodajedirektnoinverznumatricuakopoetnumatricuAproirimojedininom,a nedostatak to nije efikasna i trai 50% vie operacija od Gaussove. Pripadni pseudokod je zamdesnih strana: 19 DOFOR k=1 to n d=akk DOFOR j=k+1 to n+m akj=akj/d ENDDO DOFOR i=1 to n IF ( i k ) d=aik DOFOR j=1 to n+1 aij=aij-d*akj ENDDO ENDIF ENDDO ENDDO 20 2.2JACOBIJEVA I GAUSS-SEIDELOVA METODA 2.2.1METODA Sjetimo se metode fiksne toke za rjeavanje nelinearne jednadbe: ) (x g x = , koja se sastoji u tome da uzmemo neku poetnu aproksimaciju rjeenja - ixi izraunamo: ) (1 i ix g x =+, koji je sada novo i moda bolje priblino rjeenje. Pokuajmo slino za linearnim sustavom: )`= + + += + + += + + +n n nn n nn nn nc x a x a x ac x a x a x ac x a x a x a 2 2 1 12 2 2 22 1 211 1 2 12 1 11. Prvo sustav moramo rijeiti po nx x x , , ,2 1tj., rijeitii -tu jednadbu poi -toj nepoznatoj: )`+ + + =+ + + =+ + + = nnn n n n n nnn nn nax a x a x a cxax a x a x a cxax a x a x a cx) () () (1 1 , 2 2 1 1222 3 23 1 21 22111 3 13 2 12 11 odnosno: iini j jj ij iiax a cx ==, 1, n i , , 2 , 1 = . Zatim uzimamo poetnu aproksimaciju npr.: 0) 1 ( ) 1 (2) 1 (1= = = =nx x x iuvrtavanjemugornjujednakostdobivamoiduuaproksimacijuitd.Kroziterativnipostupak elimo doi do rjeenja.Pri tome su kod uvrtavanja mogue dvije strategije. 1)U novom koraku za ixuvrtavaju se aproksimacije varijabli iz prethodnog koraka: iikn inki i iki i iki i kiax a x a x a x a cx) ( ) (1 1 ,) (1 1 ,) (1 1 ) 1 ( =+ + + . Ime metode: Jacobijeva metoda 21 2)U novom koraku za ixuvrtavaju se nove aproksimacije varijable za koje smo ih ve izraunali u tom koraku 1 1, , ix x i stare za one do kojih postupak jo nije stigao n ix x , ,1+: iikn inki i iki i iki i kiax a x a x a x a cx) ( ) (1 1 ,) 1 (1 1 ,) 1 (1 1 ) 1 ( =+ ++ ++ . Ime metode: Gauss-Seidelova metoda 2.2.2KONVERGENCIJA I SVOJSTVA Akosesjetimodametodafiksnetokezanelinearnujednadbusjednomnepoznanicomne konvergira uvijek (divergira za1 > g ), postavljamo si pitanje: da li ovakav iterativni postupak za linearne sustave uope konvergira? Moe se pokazati da je konvergencija sigurna samo za sustave za koje vrijedi: =>ni j jij iia a, 1, n i , , 2 , 1 =i koje zovemo dijagonalno dominantnima. Kakopostavitikriterijzaustavljanja?Kaoikodsvakogdrugogiterativnogpribliavanjarjeenju, moemosmatratidasepribliavamotonomrjeenjuakoserazlikaizmeudvauzastopna priblienja smanjuje i da smo nali rjeenje ako je ta razlika pala ispod unaprijed zadane greke :