­7È+͈C:)=_ÍgFLUF10 CRCFLUF10 DOC!FLUF10 BAS%FLUF10/TPAS?3FLUF10/TCOMrPÿ!xv–Ò o†w¯O·Òo!ƒv4Êo<552Œvx!ÿv–‘2�vÞvÍiKÍgÍÖKÚqo·ò.oåÍg!vCRC Ver 5.0 CTL-S pauses, CTL-C aborts --> FILE: FLUF10 .DOC CRC = CA 49 --> FILE: FLUF10 .BAS CRC = E1 F5 --> FILE: FLUF10/T.PAS CRC = FC 97 --> FILE: FLUF10/T.COM CRC = EC 7E DONE  FLUFF Version 1.0 MBASIC (tm) and TURBO Pascal (tm) July 7, 1984 D.M. Fritz-Rohner Post Office Box 9080 Akron, Ohio 44305 Theså  programó derivå froí thå BASIà languagå versioî  pre� senteä  iî thå articlå 'Á Simplå Minimaø Algorithm§ bù Steveî  A® � Ruzinskù founä iî Dr® Dobb'ó Journal¬ Numbeò 93¬ July¬ 1984. Thå  filå  FLUFF10.BAÓ ió carefullù copieä froí thå  articlå � anä ió MBASIà compatible. Thå  filå  FLUFF10.PAÓ  ió á transliteratioî  oæ  thå  BASIà � versioî tï TURBÏ Pascal®  Thå syntacticaì anä structuraì changeó � arå  obvious®  Thå  variablå ô ió substituteä  foò  intermediatå � variablå  usagå oæ qø anä xk®  Exponentiatioî operatoò usagå  ió � circumvented®  Thå  covariancå  matriø inverså  anä  coefficienô � vectoò arå completelù initialized. Thå  articlå  proposeó aî algorithí thaô  thå  authoò  calló � 'Erroò  Fluffing§ tï perforí minimaø fit®  Thå articlå  presentó � botè  BASIà anä FORTÈ deriveä languagå applicationó oæ thå  algo� rithí tï polynomiaì fiô oæ elementarù transcendentaì functions. Thå   prograí  initializeó  á  tablå  witè  thå   normalizeä � cofactoró oæ thå termó oæ thå polynomial® Normalizatioî useó thå � fitted functioî valuå tï producå relativå erroò minimaø fit. Thå  diagonaì elementó oæ thå covariancå matriø inverså  arå � initializeä tï somethinç largå tï reflecô uncertaintù oæ  initiaì � coefficienô  vectoò  valueó whicè arå arbitrarilù initializeä  tï � zero. Thå prograí applieó thå matriø inversioî lemmá tï updatå anä � estimatå thå covariancå matriø inverså anä coefficienô vectoò foò � eacè oæ thå computeä discretå SIÎ functioî values®  Thió ió  thå � sequentiaì leasô squareó estimatå oæ thå polynomiaì coefficients® � Thió  portioî  oæ thå algorithí mighô equallù welì bå donå  usinç � batcè  leasô  squareó witè direcô computatioî oæ  thå  covariancå � matrix¬  itó inverse¬  anä aî initiaì coefficienô vectoò foò  thå � 'erroò fluffing§ process. Thå  noveltù oæ thå algorithí consistó iî whaô iô no÷  does® � Thå  prograí  searcheó thå seô oæ fitteä functioî valueó tï  finä � thå  onå aô whicè thå relativå erroò oæ thå leasô squareó fiô  ió � poorest®  Thió  valuå  ió theî applieä tï thå  sequentiaì  leasô � squareó  estimatoò tï forcå adjustmenô oæ thå coefficientó iî  aî � attempô tï improvå thå pooresô fit® Presto¡ Minimax. Š Thå  BASIà prograí illustrateó thå algorithí bù  estimatinç � thå  coefficientó oæ aî odä polynomiaì oæ fiftè ordeò tï fiô  thå � BASIà SIΠ functioî  representatioî  oæ  thå  mathematicaì  sinå � functioî oî thå intervaì zerï tï 9° degrees® Thå SIÎ functioî ió � sampleä  aô fiftù uniformlù spaceä pointó oî thå  interval®  Thå � prograí specifieó onå thousanä iterations. Foò  á ´ Mhú Z-8° baseä system¬  thå MBASIà versioî requireó � roughlù  siø secondó peò iteration®  Afteò fiftù iterationó  thå � prograí reportó thå followinç values: Coefficients: 1.570627592139162 -.6432238295815594 .07270234361204301 Iterations = 51 Maximum Absolute Error = 1.088142336302916D-04 witè  Figurå  ± iî thå referencå articlå assumeä tï bå thå  finaì � resulô foò thió case. Thå  TURBÏ  Pascaì versioî takeó abouô onå halæ  seconä  peò � iteratioî  anä  reportó thå followinç valueó afteò  onå  thousanä � iterations: Coefficients: 1.570626E+00 -6.43222E-01 7.270485E-02 Iteration = 1000 Maximum Absolute Error = 1.080364E-04 Notå thaô thå lisô produceä bù thå prograí sayó 'Maximuí Absolutå � Erroò  ½ '®  Thå valuå is¬  however¬  thå absolutå valuå oæ  thå � relativå  error®  Thió  prograí illustrateó thå algorithí foò  á � particulaò  case®  Thå normalizatioî oî BASIà prograí  linå  21° � wilì necessarilù causå problemó foò aî independenô variablå value� of zero. MBASIC (tm) MicroSoft TURBO Pascal (tm) Borland International Šÿùad:�Û MINIMAX VIA ERROR FLUFFING ALGORITHM by Steven A. Ruzinsky This program demonstrates the determination of polynomial coefficients to a mimimum maximum absolute error criterion. The result•bn:�Û is better than that of Hastings, Approximations for Digital Computers, 1955, Princeton University Press, p 138. This program is in IBM Basic.çbx:�Û -------------------------------------------------------------------------ùb‚° AóZ : ® IóNcŒN ð  : M ð 2 : ITERATIONS ð è[c–† X(M,N) , Y(M) , XK(N) , Q(N,N) , QX(N) , AK(N) , A(N)­c :�Û -------------------------------------------------------------------------xdª:�Û The following fills matrices Y(i) and X(i,j) with data. The function used is SIN(PI*X/2), however, the data is modified so that the minimax criterion is applied to the relative error :‰d´‚ I ð  Î M–d¾Y(I) ð ¢dÈE ð IõM¼dÒD ð õÿ‰(†*’¢ÚI�ôE)ÌdÜ‚ J ð  Î NådæX(I,J) ð DôEö(JòJó)ñdðƒ J , ICeú:�Û -------------------------------------------------------------------------Áe:�Û The following initiates the Q matrix. It may be necessary to to adjust the number in line 280 for best results.Ñe‚ I ð  Î NäeQ(I,I) ð $t”ìe"ƒ I>f,:�Û -------------------------------------------------------------------------.g6:�Û The following loop with index, K, reiterates the sequential least squares algorithm. Up to limit M, each data point is incorporated once into Q and AK. This results in a least squares fit to the data. Afterwards, the data�g@:�Û corresponding to the maximum absolute error are reincorporated back into Q and AK.�gJEBEST ð ºgT‚ K ð  Î ITERATIONS ò M×g^‹ K ï M Ï � ä :¢ � ŠághD ð ñgr‚ J ð  Î Nüg|QX ð  h†‚ I ð  Î N'h�QX ð QX ò XK(I)ôQ(J,I)/hšƒ I>h¤QX(J) ð QXSh®D ð D ò XK(J)ôQX[h¸ƒ Jkh‚ J ð  Î N|hÌQX ð QX(J)õDŒhÖ‚ I ð  Î N«hàQ(I,J) ð Q(I,J) ó QX(I)ôQX·hêƒ I , JÇhô‚ J ð  Î NÒhþQX ð âh‚ I ð  Î NýhQX ð QX ò XK(I)ôQ(J,I)iƒ Ii&AK(J) ð AK(J) ò QXôE*i0ƒ J , Kzi::�Û -----------------------------------------------------------------------¥iD:�Û The following prints the results :ÈiN‘ "Coefficients:" : ‚ Ið  Î NÙiXAK(I) ð A(I)åib‘ AK(I)ùilƒ I : � ä : �Ijv:�Û -----------------------------------------------------------------------…j€:�Û Subroutine for incorporating each data point once :’jŠE ð Y(K)¢j”‚ I ð  Î N²jžXK ð X(K,I)Áj¨XK(I) ð XKÖj²E ð E ó AK(I)ôXKÞj¼ƒ IäjÆŽ4kÐ:�Û -----------------------------------------------------------------------�kÚ:�Û Subroutine for finding maximum absolute error and correspnding data point :¥käEMAX ð  : JMAX ð µkî‚ J ð  Î MÂkøE ð Y(J)Òk‚ I ð  Î Nëk E ð E ó X(J,I)ôAK(I)ókƒ Il E ð ÿ†(E)&l*‹ E ï EMAX Ï EMAX ð E : JMAX ð J.l4ƒ Jjl>‘ "Iterations =", KóM, "Maximum Absolute Error =", EMAXzlHE ð Y(JMAX)ŠlR‚ I ð  Î N�l\XK ð X(JMAX,I)¬lfXK(I) ð XKÁlpE ð E ó AK(I)ôXKÉlzƒ Iól„‹ EMAX ñ EBEST Ï EBEST ð EMAX : ‰ ¬ùlŽŽHm˜:�Û ----------------------------------------------------------------------}m¢:�Û Subroutine for saving best coefficients, A :‹m¬‚ Ið Î Nœm¶A(I) ð AK(I)¤mÀƒ IªmÊŽòm£, PRINCETON UNIVERSITY PRESS, P 138. THIS PROGRAM IS IN IBM BASIC.s, A :‹m¬‚ Ið Î Nœm¶A(I) ð AK(I)¤mÀƒ IªmÊ { Copyright (C) 1984 D.M. Fritz-Rohner } program main ; { Name: } { FLUFF - Error FLUFFing Algorithm. } { } { Version: Date: } { 1.0/TURBO (tm) 1984 July 7 } { } { Purpose: } { Demonstrate PASCAL application of error fluff- } { ing algorithm proposed by the reference. } { } { Author: } { D.M. Fritz-Rohner } { Post Office Box 9080 } { Akron, Ohio 44305 } { } { Reference: } { 'A Simple Minimax Algorithm' } { Steven A. Ruzinsky } { Dr. Dobbs Journal } { Number 93, July, 1984 } { pg. 84 et seq } { } { Description: } { This program estimates polynomial coefficients } { for a minimax fit to an elementary transcenden- } { tal function. See FLUFF10.DOC. } { } { This version is written in TURBO Pascal and is } { transliterated from the Basic version pre- } { sented in the reference. See FLUFF10.BAS. } { } { The variable t is substituted for intermediate } { variable usage of the symbols qx and xk. Ex- } { ponentiating operator usage is circumvented. } { Covariance matrix inverse and coefficient } { vector are fully initialized. } { } { TURBO Pascal (tm) Borland International } const N = 3 ; M = 50 ; Iterations = 1000 ; var x : array[1..M,1..N] of real ; y : array[1..M] of real ; xk : array[1..N] of real ; q : array[1..N,1..N] of real ; qx : array[1..N] of real ; ak : array[1..N] of real ; a : array[1..N] of real ; d : real ; e, e2 : real ; eMax : real ; eBest : real ; t : real ; i, j, k : integer ; jMax : integer ; {~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~} procedure IncludeData ; { Incorporate each data point once. } begin e := y[k] ; for i := 1 to N do begin t := x[k,i] ; xk[i] := t ; e := e - ak[i]*t end end ; {~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~} procedure SaveBest ; { Save coefficients of best fit. } begin for i := 1 to N do a[i] := ak[i] end ; {~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~} procedure FindMax ; { Find maximum absolute error and corresponding index. } begin eMax := 0.0 ; jMax := 1 ; for j := 1 to M do begin e := y[j] ; for i := 1 to N do e := e - x[j,i]*ak[i] ; e := ABS(e) ; if e > eMax then begin eMax := e ; jMax := j end end ; writeln('Iterations = ',k-M:4,' Maximum Absolute Error = ',eMax:12) ; e := y[jMax] ; for i := 1 to N do begin t := x[jMax,i] ; xk[i] := t ; e := e - ak[i]*t end ; if eMax < eBest then begin eBest := eMax ; SaveBest end end ; {~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~} begin { Fill y and x with data. The function used } { is SIN(Pi*x/2), however, the data is modified so } { that the minimax criterion is applied to the rela- } { tive error. } for i := 1 to M do begin y[i] := 1.0 ; e := i/M ; e2 := e*e ; d := 1.0/SIN(1.570796327*e) ; for j := 1 to N do begin x[i,j] := d*e ; e := e*e2 end end ; { The following initiates the q matrix. It may be } { necessary to to adjust the number below for } { best results. } for i := 1 to N do begin q[i,i] := 1.0e+06 ; if i < N then begin for j := i+1 to N do begin q[i,j] := 0.0 ; q[j,i] := 0.0 end end ; xk[i] := 0.0 ; ak[i] := 0.0 end ; { The following loop with index, k, reiterates the } { sequential least squares algorithm. Up to limit M, } { each data point is incorporated once into q and ak. } { This results in a least squares fit to the data. } { Afterwards, the data corresponding to the maximum } { absolute error are incorporated back into q and ak. } eBest := 1.0 ; for k := 1 to Iterations+M do begin if k > M then FindMax else IncludeData ; d := 1.0 ; for j := 1 to N do begin t := 0.0 ; for i := 1 to N do t := t + xk[i]*q[j,i] ; qx[j] := t ; d := d + xk[j]*t ; end ; for j := 1 to N do begin t := qx[j]/d ; for i := 1 to N do q[i,j] := q[i,j] - qx[i]*t ; end ; for j := 1 to N do begin t := 0.0 ; for i := 1 to N do t := t + xk[i]*q[j,i] ; ak[j] := ak[j] + t*e end end ; { Print the results. } writeln('Coefficients:') ; for i := 1 to N do begin ak[i] := a[i] ; writeln(ak[i]:12) end ; FindMax end. ÃÉÍ«Copyright (C) 1984 BORLAND Inc‚A SDS VDB-8024selectedP=  ~·7È#õå~Íáñ=ÈóÍ% ÉÅÕåÝåýåõo&åͦñýáÝááÑÁÉoåͦÉþ€Ü�Ô©æîÅÕåÝåýåÍ£}Ùå!å!"8áãõÅÕ~#·(åÍáôÑÁñãÉ}´È:$‡‡‡ããããÅÒÁ= ô+èÍÐØ*ÎßõÅÕå!¨ÍZ!¢ÍÐ*ºÔBáÑÁñÉõÅÕå!´éõÅÕå!®àõ:¼·(ÅÕå=2¼!ÈÍZáÑÁñÉõ:¼· ÷ÅÕå<2¼!ÂåõÅÕå!¼ÛõÅÕååð!‹í°Ñ:žO:œ‚ÕÍÑ:ŸO:�ƒÍ!ðÍÐ* ÍBáÑÁñÉ!ð ë!›45(É!.+/ –0ü†õyþ0(ñíÉ d!kÃZ!{ÃZ͈æ͈o&Éô  áÁå:á·(yþ ÕÅÍ |µ(Íþ ÍþÊÅÁÑ*é"ÛÕx2áy·( >Ã28!?"9!É í°!á¸í°áí°>2گà Ã:ÃDÃ]ÃSÃXÃNÃ]ÃDÿ í[Ûþ (ú!eÍ}Í„þA8þQ0Gþ: xÖ@¯!\w# ( þ  ÍyÍVþ. ÍV!h6#ûÉ (þ*(þ.(þ!8þ}(þ*(Í„w#ßÉ>?> w#üÉþaØþ{ÐÖ É|Í’}õÍ›ñæÆ�'Î@'Ãè¯7Ë|À|·}È>ÿÉ"ÍíCß"í6#ûëÑùü "Ïë"ÕÍ�Í©éå*Ï·íB"Ïí[Í·íRëáÚ5í°É*Ïí°"ÏÙÉ^#V#Õ^#V#N#FáÉÝáëO/o&ÿ9ùëí°ÝéÑO/o&ÿ9ùëí°éÝáë!àÿ9ùëÅ(¯üí°Á> �‘(G¯üÝéÝá!àÿ9ù ¯w#üÝéÝáEÍŠ¶wÝéÝáÑ}“8÷�Ãu·íR·íB0 É>‘î·íRëê@ðøÉÕë·íRëáë·íR!È+Éͨ õÍz ð·íR!À+Éͨ õÍz ðÍ<!Ð+Éͨ õÍz ðÍ<!ÈØ+Éͨ ôÍz ïÍ<!ÈØ#Éͨ ôÍz ïÍ<!Ø+Éͨ õÍz ðT]KBë!z·> S>)ë)ë0 = öÉ|ªõÍJëÍJëDM¯go>íjíB0 7?ËË= ðëñðHåÍ\Ë<ËÑëÍÞëËzÈ5Í+È)ýÉÍ+ÈË<ËúÉëz· {þ0G·É¯goÉë|ª|úHºÀ}»ÉÉË|È|/g}/o#É}æo&ÉíKÓí[ÑÅÕxAJSËËËËáëáíJDM!éb"Ñë!6íJ"ÓDMÉ'ͬèͬdͬ ͬ} ¯<íR0û= ÈÆ0ÝwÝ#ÉÝ~Ö$O! Ý#Ý~Í„Ö08)þ 8 !Öþ 8þ0T])Ø)Ø T]Ø)Ø_ØËy·È|‡ÉÝááå}&#9N�8wë!DíB9ùëåí°ëá+Oí¸ë#ùÝé>ÃwÝáͦWáͧ _áå}“8(º8J`9{‚T]=o`9yí¸ë ¯ÃwÍÖ Ð>ÃuÍJ õÍuÍ` íÙ}·Ù>(è; àÙËxÙÂQ Ù}·ÙÈÙÅÕåÙ}· Ù˸TÅËø¯ÙËø}Ù•(0íD=ÙÍC ,= ù(Ùñæ€ Í[ 0%ÍD ·, 7 Í� ?õ(8ÙÍu Ëx ÍO - öÍ; ñ8˸·ÙáÑÁÙÉÙËxÙÂÝ ÍX ÍÝ Ø,-Èxî€GÉÙ}·ÙÊ; }·ÈÙ…ÙÍ ÅÕåÝ9Í; Ù.Ù>Ý#ÝnË0Í[ ÍD = ñÙ-Ù åÝnûËx ÍP ,-(-ñññ·ñÙÁáÙÝá˸°G,-Ì; É}·ÈÙ•Ù?Í åååÝ9Ù.Ù>Í� 8Íu ?Ë= ÝuÝ+Ù-Ù(>ÍO 0ßÍu ·áÍO 8Í� ?áÑÁËx ÍP š, —7•8Æ€8Æ€8oÝãÙåÅxËøÙ¨æ€õËøÝåÝ!ÉáØ¯oGOW_gÉ·ËËËËËÉ·ËËËËËÉ|Ù„Ùg{Ù‹Ù_zÙŠÙWyÙ‰ÙOxÙˆÙGÉ|Ù”Ùg{Ù›Ù_zÙšÙWyÙ™ÙOxÙ˜ÙGÉxÙ¸ÙÀyÙ¹ÙÀzÙºÙÀ{Ù»ÙÀ|Ù¼ÙÉÙxÙ¨ò² xÉËx(ͼ È?É}Ù½ÙÀ·ÈÃ� }Ö�Ú; <þ(ÐÙÅÕåÍ; 7ÍD = ùÙ|Ù¤Ùg{Ù£Ù_zÙ¢ÙWyÙ¡ÙOxÙ ÙGÃD ÙÅÕåÙÍuÙÍÆ ÙÍJ ë}·ÈËx>ÂuÍu}Æ€Ë/Æ€oÖõÙÅÕå; ÍÖ -ÅÕåÍJ }áÑÁÙáÑÁã¼ã0ãñÙÉÙÍW-ÍJ ÙÍW,Ù}þlØÅ˸ͨ Á8 ; Íý Í` Ëx(ÍÖ Ù-Ùͨ õ8ÍJ Ù-Ùͨ 8Ù,ÍJ }þl8;Ùª*ªª!ªÍ` ÝåÝ!Ð >ÍýÝáÍuÍ` Í` ÅÕåÙÍu--Ù-ÍÖ ÙáÑÁÙÍJ ,,ñ,-ÈØxî€GÉgª?+2×n¶*ï8t Ð Ðzˆˆˆˆ~«ªªªª,->ÊuËxÂuÙÍaÙ}.�•õ; ÙÍOÙÍJ ÅÕåÙ,ÍÖ ÙáÑÁ; ÝåÝ!U >ÍýÝá,ÙÍk-ÙÍÖ ñÅÕåo&0%ÍÑÙ,Í` ÙáÑÁÍÖ }þgÚ; É}Š�؉}颋.:}Žã8Žc~I’$I~ÍÌÌÌL«ªªª*ÙÍkÙ·Ëxõ˸; }þˆ0GÅÕå,Í™åË<Ë}áõÍÑ,-(-ÙñáÑÁõÍJ ÝåÝ!Ù >ÍÝáñ0 õÙÍaÙÍ` ñ…o8 ñÈÙÍOþ á>Ãum.`1pF,þåt6|‰„!wS<ÿÃ.zÒ}[•|%¸FXc~üïýu€Ò÷r1}·ÈÝåÙÍOÙ¯Ëx(<˸õͨ 8Ù; ñËÿõÙÏŽé!~JÙͨ 0Í÷OÝ!—>ÙÝÍ<Ùͨ 8 = ìÙ ÝÙÙÍ7ËøÍÖ ÅÕåÍ<Í` ÙÍOÍÖ ÙáÑÁ; ÝåÍ÷ÝáÙÍ7ÍÖ ñ0 õÙÍW-ÍJ ñÝáËOÈËøÉçÏÌTöô¢0 jÁ‘ €µžŠoD€‚,:Í€jÁ‘ �€!¢ÚI}袋.º}Žã8Žc~I’$I’~ÍÌÌÌL«ªªªªÝ!Ó>ÅÕåõÍuÍ` ñÍÙáÑÁÃ` õÙÍ7õÙÅÕåÍ7ÍÖ ÙáÑÁÙÍ` ñ= éÙÍOÃÖ ÝÝnÝfÝ^ÝVÝNÝFÉ!�DLT\ÉI¢Ú!‚!É53ó!�úÉr1÷!€ÒÉÅÕåÙáÑÁÉÍ\!€> Ëx Ë#ËËË-= ðo˸ÉËxÙÍO(Ëø-ÍÖ ·Ë}(ËxËø>�½8(ÍC ,óÍC `iÈÃM!É>’Ãu|µÊ; Ë|ÍJ>�Ë| )=Ë|(úDMboÀ˸Éͦë8þ8ͦÙËxÙ(’0¯þ 8> ÕÍMÑËx(>-ͲË{(aËy(Ͱͦ ò\z·(>.Ͳ (Ͱ ÷ú~ͦ÷Ë{È>EͲ>+Ë|(|íDg>-Ͳ|/Ö 0ûÆ:ÝpÝ# ý~ý#· ý+>0ÝwÝ#Éýå,-  ý60ý#ø¯ÃJÅ˸}ÙÖ€oŸgMÍÄ|þÙ <ýwíDÍ }þ�0Í€ý5Ëø>„•.(ÍC Ë= øý~õ> xæÆ0ýwý#xæGÅÕåË%ÍP Ë%ÍP ëãÑãíZëáãíJDMáË%ÍP = ÈñÁýáÉýåá_~6þ5Øúi+~¨¥Ôh¶¿ÉìÅëx-ÐÍÎÂSÞùx9?ë+¨­ÅøÉ{Η@}·ÈËøÅÕ|ÍC ÍC „gãíZëáãíJDMá0ÍD ,7È}Æo˸ÉÍ ¾ #øyîO!@9ùi&ÝéÍ  ë¶¾ â#÷ÚÍ ¶w#ùëùÝéÍ /¦w#øïÍ ¦w#ùãýáÝá!9ë! E9ýéÝá!!9~·(¯+FÍŠ¦!"9ù!(#Ýé>¯2æýá*ÛͲ¯á"âýå|·>"Ê :æ·( ͆ *â6#wÉÍ÷*â6#6 ë!\$í°É!¶Ååí[Ûþ (úÍ„–( áÁã·É#ëÁÁþ:À~ÉCONTRMKBDLSTAUXUSR>¯2æÍîÍ$*â#~þ ͶÍ$*â:æ·> >w###6ÀÃÖþ þ #6++pÉ>¯2æíSäÍ-Í$Ͷ:Ù·À*â6###ww#w$w#wÖÿ:æ· åÍôá##N#F*ä·íBÈ>�à å¯w#w#í[äs#ráÃó>¯2æÍSÍ$ͶÍ$*â6å ë#Íá-¯Nw#FwÖÿq#p#6€#w#w#wÉÍß*â ë:æ·( ÕÍÑñÅÍÁ<Àxà *â6#ûÉ"â#~+þ 2ËN(>Í’:Ù· *âË^ îËFÈ*âå ëÍá< >ÿ2Ù6É"â~æÈÍŸ*â-¯w#wÕÿw#ÍóÍŸÀ"â~æÈ·ÍÀ ëÍ<À@ýá*ÛͲ¯áýåÍÀåÍ÷áåë!\ í°á åëÍÑ<Ê®!\$í°É>à >¯2æÍÀ*ß|µ>! ë*â \$í°\Í<(Ï!ý€í°:æ· í[1Ã�ÿÕÍ\ÍÑ!€ë·(éf"âÍÂÈ> 2ÙÉ:Ù·ÈñÉÝáÝåå!ÊÍ<áÉÝáÝå"âËF( #~þÀ#6Ãe>Îå!ÊÍ[áÉ"âËNÀ>ë!Ú~þ€8>O6*Û"ÝÍwþ (=þ(&þ("þ(þ :á·(ßÃNþ 8Øyº(Ô~#ÍèÌúx+Í% (½ï6Éå*â#~þáÉÍÂÈÍ[þÈÅÕå*â#~· *Ý~þ(h#"Ýb= Íõþ 8Íèþ ÌáñJ= ÍB== ͯ}8= ͵}/Í­ !*â###å~Æ-_~áþ(4òQ6*âËÖ>™2Ù>*â##wáÑÁÉ:Ù·>Àå*â##~áÉå*â#~þÿ(EÍÌÍ[þ ( þ (þ (þ ÍÖè!]Í[þ (þ (þ (þ(w#(ÍÖãÍÂÌÖ6áÉÝ!]Ý~·Èþ-ÀÝ#É8Ý~·È>7à ëÍ Í[ÃÖÍÖÉ>¯OÅÍkÁͼÈÅåÍÁÑÁÍÎØÌMës #rëÉÍkͼÈÅåÍpÙáÁÍÎØÙÌX ÙáåÍÌÍ[þ ÍÖôÍ[þ (þ( #w(ÍÖêÍÂÌÖáqÉ*â#~þÊáÍ[þ (þÈÍÖñÍ ÍÖþ ÀÃÖ*â##~þÈ6ÉÅÕåÍœáÑÁÉOÍ$*â#~þ(08áÅå·Ê¦=ʦ==Ê©=ʬò+ËÞ###å~Æ-_qá4ð6Í¡È>ðà *æ:è¾È4^qÉ}Ã’ÁÑÅÝ*ÛË|(ÍMëëË|( ÍMÝ6-Ý#ÕÍ�áͦí[ÛÝåá·íRë“8 (G> Í’ùCÈ~Í’#÷ÁÑÙáÑÁÙÅÝ*ÛÕÍôÇÁÑÅͦËC!h Ç!lÀTRUEFALSEͦ!9^#Í(ÑùÕÉá~#·(G~Í’#ùé> Í’> Ã’ "âËF!ÈÍ[¸(þÀ#ÉåÍRë·íRá0Íô*â4À#4É>™Ã åÍR·íR *â4 #4(áÍóÒ>òÜ>¯2çÍ$ë*âËV(/Ë–:ç·(#~+· x· y·ú2ÅÕ!͵ÑÁ( =(þ X:ç·(R*â:ç·(ËÞ###~Æ-Õ_ÑÖ-ÍŒí âX<òN=<ÍŒ*â###æw ÅÕåÍŸáÑÁ Õ*Ñ4 #4x±ÂüëÉ>™>ðà õ:ç·(ëñÉ"âÍŸÈè"*âËÖË^ÈËž*âËVÈË–åÅ0ëÍÁá ëÍ·ÉÁÑíSâÅåÍRÑ·íR8A*â N#F#s#rÍ$ 0}æ)ëíjëS\*â###w* N#Fë·íB ÈÕåÍŸÑár+sÉ>‘à ÕÙáÙ!T]>)ëíjëÙ)Ù0 0= ïÉÍU·íR!À#ÉÍUëÉ*â^#V#ÕN#F#^#VáÉ>">!2çDMÝáÑáÝå"â~æÊóx±(LÅÕÍ*â ë:çOÍÑÁ·(o:çþ" C}=(þ ?ÅÕ*â-N#Fp+qÛÿq#pÑÁ!€ë °*â F+N+++V+^ë·íBÐëq#pÉ>™>ð>à ÁÑíSâÅåÍRÑ·íRÚ*â s#r$ s#rÉ"äíSæëá"â! N#Fë·íB(^x± *â 6#ûí[âÍ<(H*â! íKäq#p##ëíKæÅÕÍí[â!Í· *â! 4 #4Ñ!€ëÁ x± Õ*â$ éÝ*â>ðÃw"òëáã"ô{æü_!í"ëÝ*íÝnÝf}´(HíR0ÝnÝfåÝ"ëÝáã Ý^ÝVÝåMDÝnÝfÝåÝÝuÝtÝqÝpÝåÑ*ës#rÑ*ôs#rÉÝåá"Í*ò ÝåÁ Ú5íKÏíB!Úð>ÿÃuëáã~#fo{æü_ë"ò*íåÝá·íR0RÝnÝfå·íR0ÝáðáÕýáíKòýqýpýuýtÝsÝrÝåáÝNÝFÍÄ( Ý^ÝVÕÝáÝåáÝNÝFÝ^ÝV*ííSíÕÝáÝuÝtíKòÝqÝpë ·íRÀÕýá*Í·íR(ý~Ýwý~Ýwýnýf ÝuÝt¯ÉÝåá"Í6#ûÉÍ *öÉÍ *øÉ!"ö"øÝ*íÝNÝFy°(*ö "ö*ø·íB0íCøÝnÝfåÝáØ*Ïûÿ í[Í·íRØë*ö"ö*ø·íRÐíSøÉí[Ís#rÉ^#VíSÍÉ>¯O"æ¯w2Ùx2è!ê"âá"äá ÍöÍ@*äé>¯2ê"æ!ê"âá"äá"è!\Ͳ¯*è:ê· ÍîÍ!Ù~6·go(Ýåá\íRë*æs#r¯ÿí_2ÔÉëÝáÁáx±( s x±(T]í°ÝéDMÝáÑá·íR0ð ë ëí¸ÝéÑÁÕ-a%ÃÆ}Í„oÉ*é!Ù~6o&ÉÍ |µÈÍ£}þÀÝáÍ%^C User break1:Ù·ÈÝáõÍ% I/OÝáÍ% Run-timeÍ% error Í’Í%, PC=Ýåáí[Õ·íR"×Í�Í% Program aborted*ßé1!ÀܸÿÍ�!Í(V×ͲÃ#! Øå*d×+)]T)ÑÍüÙ!‚×Í¡!å!ÑÍ5z³Ê˜ Õ"h×!8Ùå*d×+)å)))ÑÑå*h×+)]T)ÑÍüÙ!j×Í¡!ú×å*h×+)]T)Ñå!j×ÍüÙáÍ¡!‚×ÍüÅÕå! ×å*h×+)]T)ÑÍüÅÕå!j×ÍüÙáÑÁÍÄ ÙáÑÁͼ Ù!‚×Í¡*h×#Ñà É!å!ÑÍ5z³ÊÝ Õ"h×!Ž×å*h×+)]T)Ñå! ×å*h×+)]T)ÑÍüÙáÍ¡*h×#Ñä É!Ù!v×Í¡!"b×!å!2ÑÍ5z³Ê×!Õ"f×! Øå*f×+)]T)ÑÍüÙ!‚×Í¡!å!ÑÍ5z³Ê‘!Õ"h×!‚×ÍüÅÕå!8Ùå*f×+)å)))ÑÑå*h×+)]T)ÑÍüÅÕå! ×å*h×+)]T)ÑÍüÙáÑÁÍÄ ÙáÑÁͼ Ù!‚×Í¡*h×#ÑÃ,!!‚×Íü˸Ù!‚×Í¡!‚×ÍüÅÕå!v×ÍüÙáÑÁÍ¥ËEÊÎ!!‚×ÍüÙ!v×Í¡*f×"b×*f×#ÑÃÿ ÍRÍ� Iterations = *d×å!2Ñë·íRå!ÍöÍ� Maximum Absolute Error = !v×ÍüÅÕå! å!ÿÿÍ@Í�Íb! Øå*b×+)]T)ÑÍüÙ!‚×Í¡!å!ÑÍ5z³Êè"Õ"h×!8Ùå*b×+)å)))ÑÑå*h×+)]T)ÑÍüÙ!j×Í¡!ú×å*h×+)]T)Ñå!j×ÍüÙáÍ¡!‚×ÍüÅÕå! ×å*h×+)]T)ÑÍüÅÕå!j×ÍüÙáÑÁÍÄ ÙáÑÁͼ Ù!‚×Í¡*h×#ÑÃ["!v×ÍüÅÕå!p×ÍüÙáÑÁ͸ËEÊ#!v×ÍüÙ!p×͙͡ É!å!2ÑÍ5z³Ê.$Õ"h×! Øå*h×+)]T)Ñå!�ÙáÍ¡*h×å!2ÍÑÙáÍÑÍÉ Ù!‚×Í¡!‚×ÍüÅÕå!‚×ÍüÙáÑÁÍÄ Ù!|×Í¡!�ÅÕå!�’¢ÚIÅÕå!‚×ÍüÙáÑÁÍÄ ÍP ÙáÑÁÍÉ Ù!ˆ×Í¡!å!ÑÍ5z³Ê%$Õ"f×!8Ùå*h×+)å)))ÑÑå*f×+)]T)Ñå!ˆ×ÍüÅÕå!‚×ÍüÙáÑÁÍÄ ÙáÍ¡!‚×ÍüÅÕå!|×ÍüÙáÑÁÍÄ Ù!‚×Í¡*f×#Ñý#*h×#ÑÃ#!å!ÑÍ5z³Ê>%Õ"h×!Ä×å*h×+)å)))ÑÑå*h×+)]T)Ñå!”$tÙáÍ¡*h×å!ÑͯËEÊù$*h×å!Ñå!ÑÍ5z³Êù$Õ"f×!Ä×å*h×+)å)))ÑÑå*f×+)]T)Ñå!ÙáÍ¡!Ä×å*f×+)å)))ÑÑå*h×+)]T)Ñå!ÙáÍ¡*f×#ÑÃ�$!ú×å*h×+)]T)Ñå!ÙáÍ¡! ×å*h×+)]T)Ñå!ÙáÍ¡*h×#ÑÃ9$!�Ù!p×Í¡!å!èå!2ÑÑÍ5z³ÊA(Õ"d×*d×å!2ÑÍ›ËEÊ~%ÍÞ Ã�%Íç!�Ù!ˆ×Í¡!å!ÑÍ5z³Ê‚&Õ"f×!Ù!j×Í¡!å!ÑÍ5z³Ê%&Õ"h×!j×ÍüÅÕå!ú×å*h×+)]T)ÑÍüÅÕå!Ä×å*f×+)å)))ÑÑå*h×+)]T)ÑÍüÙáÑÁÍÄ ÙáÑÁͳ Ù!j×Í¡*h×#ÑÃÀ%!²×å*f×+)]T)Ñå!j×ÍüÙáÍ¡!ˆ×ÍüÅÕå!ú×å*f×+)]T)ÑÍüÅÕå!j×ÍüÙáÑÁÍÄ ÙáÑÁͳ Ù!ˆ×Í¡*f×#ÑÜ%!å!ÑÍ5z³ÊT'Õ"f×!²×å*f×+)]T)ÑÍüÅÕå!ˆ×ÍüÙáÑÁÍÉ Ù!j×Í¡!å!ÑÍ5z³ÊK'Õ"h×!Ä×å*h×+)å)))ÑÑå*f×+)]T)Ñå!Ä×å*h×+)å)))ÑÑå*f×+)]T)ÑÍüÅÕå!²×å*h×+)]T)ÑÍüÅÕå!j×ÍüÙáÑÁÍÄ ÙáÑÁͼ ÙáÍ¡*h×#ÑÃÊ&*f×#ÑÃ�&!å!ÑÍ5z³Ê8(Õ"f×!Ù!j×Í¡!å!ÑÍ5z³Êè'Õ"h×!j×ÍüÅÕå!ú×å*h×+)]T)ÑÍüÅÕå!Ä×å*f×+)å)))ÑÑå*h×+)]T)ÑÍüÙáÑÁÍÄ ÙáÑÁͳ Ù!j×Í¡*h×#ÑÃ'! ×å*f×+)]T)Ñå! ×å*f×+)]T)ÑÍüÅÕå!j×ÍüÅÕå!‚×ÍüÙáÑÁÍÄ ÙáÑÁͳ ÙáÍ¡*f×#ÑÃ_'*d×#ÑÃ_%ÍRÍ� Coefficients:Í�Íb!å!ÑÍ5z³ÊÇ(Õ"h×! ×å*h×+)]T)Ñå!Ž×å*h×+)]T)ÑÍüÙáÍ¡! ×å*h×+)]T)ÑÍüÍRÅÕå! å!ÿÿÍ@Í�Íb*h×#ÑÃf(ÍÞ ÃÅicients:Í�Íb!å!ÑÍ5z³ÊÕ"h×! ×å*h×+)]T)Ñå!