i i “826-Jerman-naslov” — 2009/6/2 — 17:09 — page 1 — #1 i i i i i i List za mlade matematike, fizike, astronome in računalnikarje ISSN 0351-6652 Letnik 15 (1987/1988) Številka 1 Strani 28–33 Marjan Jerman: REŠEVANJE ENAČB Z METODO ZAPOREDNIH PRI- BLIŽKOV Ključne besede: računalništvo. Elektronska verzija: http://www.presek.si/15/869-Jerman.pdf c© 1987 Društvo matematikov, fizikov in astronomov Slovenije c© 2009 DMFA – založništvo Vse pravice pridržane. Razmnoževanje ali reproduciranje celote ali posameznih delov brez poprejšnjega dovoljenja založnika ni dovo- ljeno. ClO('ll'\IOI N'CT' 'l-7"'1 __ 11'11- ,_"'''_ RESEVANJE ENACB Z METODO ZAPOREDNIH PRIB1I2KOV Nekaterih enačb (npr. 2x - 4 + Inx = O) ne moremo rešiti po običajni poti. Pomagamo si z iteracijskimi metodami. To so metode, ki s ponavljajočim se procesom dajejo vedno boljše približke korenov enačb. Pri reševanju nam bo koristil kalkulator ali računalnik. Pa si poglejmo, kako poteka iteracij ska metoda. Za zgled vzemimo kar zgo- raj omenjeno enačbo 2x - 4 + lnx = O. Malce jo preoblikujmo in že imamo Inx = 4 - 2x. Pa naj bo f(x) = lnx in g(x) = 4 - 2x . Narišimo grafa teh dveh funkcij ; se- kata se v točki, kate re abscisa je rešitev naše enačbe. i", I -. -1"" 1 ( 'r '1 _.!•• ..li.. .•....... ':. ........ y = ln X....-_..- .._.- . ....._.....-_...... ..+ , \ + , ) + j _..::: :j: :: ~, ~ :.:l :: : _.·._···j· ······ ··· · ····· ·i· · · · ·· · · · ·~ · · · _ · +·· · ·· · · · · ··__··-j··- - \ _ - . ! ,.-' .~H.. ; .]. : i' Približno rešitev lahko preberemo iz grafa (x = 2), vendar nas tako doblje- na rešitev s svojo natančnostjo ponavadi ne zadovolji. Zato uberemo drugo pot: 1. Enačbo 2x - 4 + Inx = O zapišimo v obliki x =h(x) , npr. x = 2 - (Inx)/2. 2. Iz grafa preberemo približno rešitev (x = 2). To je naš prvi približek. Recimo rnu xs , 3 . lzračunajrno vrednost h(xo): h(xo) =h(2) = 2 - (In2)12 = 1,65342641 To je naš novi približek. Recimo mu Xl' 28 .,... .. , ..... .... . •: .1 ._ ,J l' ...•• !! ---,; ,"1: ...... .! . .. 1 • ! ..>.... J. 1 \ i' T ·· I · I ' J.. 4 . Vzemimo novi približek in ravnajmo z njim kot s prvotnim: Xo = 2 Približki so čedalje natančnejši. Ko Xl = 1,65342641 bodo natančni že na osem decimalnih X2 = 1,74857513 mest, si z navadnim kaikuiatorjem ne X3 = 1,72059938 bomo mogli več pomagati. Trdil bo , ........................ da je x n = X n+l• Pa nič zato, tudi mi X1S = 1,72685041 bomo čisto zadovoljni s takim pribli- X16 = 1,72685041 žkom. Ko je torej xn na želeno število - de- cimalk enak Xn + 1, lahko postopek končamo. (Pri fiziki bi bili zadovoljni že z X3') Postavi pa se nam vprašanje, ali je ta metoda vedno uspešna. Žal ni. Uspešna je le v primeru, ko je graf funkcije h(x) manj strm kot pre- mica y =X + n (y =-x + n). Zato nas iteracij ska metoda ne privede vedno k želenemu cilju. Kar poglejmo si tole enačbo: 'i ~1I!1 X + ln x = O \ . Poskusimo takole: x = -Inx ln kaj sledi? + .... .. . H •• • • • • j•.•......._ + ~.._ i · __·· ~···!······ ····..·······l··_·······..-v-l-: ,.l::.: _ .~:: ! . l ~: :~ ·!- _ j · +..·._ ··.·.···1···· , + _..j _ . '1..1' ,1";, ..... .... .... Y = - In X .... ... .... i I i 1 Xo = 0,5 Xl = 0,69314718 X2 = 0,36651292 X3 = 1,00372151 X4 = -0,0037146 x s nedefiniran 29 Z nadaljevanjem postopka dobi- vamo vedno slabše približke . Vendar je za vsako bolezen zdravilo. Preoblikujmo enačbo x = - Inx takole: x = -Inx x /2 = -(Inx)12 x = xl2 - (Inx)12 x = 1/2 (x - lnx) Sedaj je graf takle : 1: 2 l+xl2 .j i .;._ _·i i . / " . y = 1/2 (X - ln Xl Ko malce razočarani od prej poskusi- mo z iteracij sko metodo, Površno povedano: krivuljo smo pri njenem padanju umirili tako da je zdaj položnejša kot premica y = x. Pa poskusimo sedaj z metodo iteracije: Xo = 0,5 xI = 0,596573590 X 2 = 0,556563133 X3 = 0,571268901 X4 =0,565582076 Xs = 0,567740966 Xl 9 = 0,567143291 X2 0 = 0,567143290 X 21 = 0,567143290 se nam obraz zjasni pri X20 = 0 ,567143290. Kljub temu, da nas kalkulator reši računanja, pa je vseeno mučno priti tja do 15. ali 20. približka . Tu nam priskoči na pomoč računalnik . Zaradi speci- fičnosti ukaza DEF FN v različnih dialektih basica, sem program priredil za dva računalnika, za C64 in ZX Spectrum. 30 SPECTRUM 5 REM ITE RACIJA 10 PRINT "Zapisite enacbo v obliki x = hlxl!" 20 INPUT "x ="; aS 30 PRINT "x ="; aS 40DEFFNh(x)=VALaS 50 PRINT 60 PRINT "Izberite zacetno vrednost!" 70 INPUT "xO ="; xO: PRINT "xO <': xO 80 PRINT 90 PRINT "Približki so:" 100 LET xl = FN h(xO) 110 PRINT xl 120 STOP 130 LET xO = xl : GO TO 100 Opomba: Računalnik vas vpraša po funkciji in začetni vrednosti. Nato vam izpisuje približke po vsakem pritisku na tipko CONTINUE. COMMODORE 10 PRINT "VPISITE ENACBO V OBLIKI X = H(X)!" 20 PRINT 30 PRINT "70 DEF FN Y(X)=" 40 PRINT "GO TO 70" 50 FOR A = 1 TO 4: PRINT CHRS(145);: NEXT A 60 END 70 DEF FN Y(X)=1/2*(X - LOG(X)) 80 INPUT "VPISITE ZAČETNO VREDNOST!"; XO 90 Xl = FN Y(XO) 100 PRINT Xl 110 GET AS:IF AS=""THEN 110 120 IF AS = "S" THEN END 130XO=Xl:GOT090 READY. Opomba: Računalnik vas postavi v vrstico 70. Skazalcem (kurzorjem) se zapeljite do konca definicije funkcije in jo vpišite. Pritisnite dvakrat RETURN. Računalnik vas vpraša po začetni vrednosti. Nove približke vam izpisuje, vse dokler ne pr itisnete S. 31 ln še opozorilo: Pri iteracijski metod i moramo poznat i p rvi približek xo. Najlaže ga dobimo grafično . Če pa se grafa funkcij sekata predaleč od izhodišča in ju zato ' ne sprav imo ' na papir, funkc ijo enostavno delimo z od O različnim rea lnim št evilom . Pr ime r : x 2 - 2x + 2 =O ~ ((x) = 2x , g(x) =x 2 + 2 li x 2 /2 - x + 1 = O ~ ((x) =x, g(x) =x 2 / 2 + 1 Za konec reš imo še e nač bo 4x = 3x . 1. rešitev: 4x = 3x ~ x = 3x / 4 Prvi p ribli žek: Xo = 0 ,5 Nada ljujmo : Xl = 0,433012702 X23 = .0,379194103 X24 = 0,379194103 I!•.~ • • • • •• • •• " ••••• o. Y = ln 4X / ln 3 ..;.. ":t J .. . . ·-·..··_·1·····..· ".." .1";. 32 -i-- i 2. rešitev: 3x = 4x ~ x In3 = In4x ~ x = .03~_ In 3 Xo = 2 Xl = 1,89278926 X2S = 1,79468896 X26 = 1,79468896 Dob ili smo dve rešitvi, vsako po drugi pot i. ; , 1 1. Dohi; oba po&ma komna 3. Pribllno redi enatfbe: enaCbe TX = 8x - xB . a) xZ=2+lnx 2. Mnoiilcl~ P naj bo potenha mno- b) logax (x - 2)' fica mmZiee #. Md! m W c e P c) x.lnx = 1 Ie za 27 &la od moei rnnofice d) 2* =x + 2 M. DoloEi m e mnotice M. 4. Kje sa rEeta kriwljli y = 3" in v = x - 5 7 Pripomba urednba: Ce ja braleu gornji CIanek nbudil zaninrianje ra numcsri- &w d m n j e rnatemtiEnih problemov, potem mu priporobmo knjfip, Zvonimir Bohte: NumeriEno mhvanje enaEb, ki /e Mla v rbirki S i a . Za ra- zumwanje knjige bo s e d % potrebno nekoliko ve6 rrratmatiEtwga manjrr, kot ga zahwva priCujoBi Elanek. siwdi KXe*