2023(e)ko otsailaren 17(a), ostirala

5. astea | Newton-en metodoa, erro karratua eta erro kuboa

Newton-en hurbilketa-metodoa √n eta ∛n kalkulatzeko



5. astea | Newton-en metodoa bigarren graduko edozein parabolarekin azaldutako ariketa erabiliko dugu zenbaki baten erro koadroa kalkulatzeko, baldin eta ax2+bx+c parabolaren koefizienteak egokiak badira.




ax2+bx+c parabola orokorrarren koefizienteak hauek izanik:


  • a=1

  • b=0

  • c=-n


Ateratzen den ekuazioa x2-n=0 da (edo x2=n).

Ondorioz, x erroa n-ren erro karratua x=∓√n izango da.



Esate baterako, alboko irudian ikusten den bezala c=-2 denean, ekuazioa x2-2=0 da (edo x2=2). Horregatik x erroa, 2-ren erro karratua x=∓√2=∓1.4142 izango da.







Newton–Raphson metodoa (Newton-en metodo gisa ere ezagutzen dena) zenbakizko analisi-metodo bat da. Metodo honek funtzioen erro gero eta hobeak lortzen ditu, hau da, funtzioa zero egiten duen x balioa bilatzen du. Beste modu batez esanik, funtzioak OX ardatza mozten duen balioa (funtzioaren erroa) ematen du Newton–Raphson metodoak. Algoritmoa erroaren hurbilketa batekin hasten da eta urrats bakoitzean erroaren hurbilketa hobea lortzen du.



Aldagai bakarreko funtzio errealen kasuan honakoa da metodoa:


Izan bedi ƒ funtzioa x errealentzat definitua, eta izan bedi ƒ' bere deribatua. Erroaren hasierako hurbilketa bat behar dugu, x0. Erroaren hurbilketa horretan oinarrituz hurbilketa hobea izango den x1 honelaxe lortzen da:





Iterazioak eginez, n+1 hurbilketa n hurbilketan oinarritzen da formula honen arabera:





Formula horren zergatia geometrikoki adieraz daiteke. Hurrengo irudiko lerro urdina  f(x) funtzioa da, eta lerro zuzen gorria f(x) funtzioaren tangentea (xn, f(xn)) puntuan:








Berde koloreko distantziari hobekuntza deitzen badiogu, orduan alfa angeluaren tangentea f(xn)/hobekuntza litzateke, baina tangente hori f(x) funtzioaren deribatua (xn, f(xn))puntuan da, lerro zuzen gorriaren malda alfa angeluaren tangentea da. Horregatik:



tag(alfa)= f(xn)/hobekuntza   eta aldi berean   tag(alfa)=malda= f'(xn)

beraz    f'(xn)= f(xn)/hobekuntza     (non  hobekuntza=xn-xn+1)





f'(xn)= f(xn)/(xn-xn+1)    nondik    xn-xn+1= f(xn)/f'(xn)




xn+1 = xn f(xn)/f'(xn)






Erro karratua



n zenbaki erreal positibo baten erro koadroa kalkula dezagun. Hona hemen, Newton–Raphson metodotik eratorren formula:


xn+1 = xn f(xn)/f'(xn)



n ezaguna izanik x lortu:    x = √n


x2 = n


x2—n = 0





f(x) = x2—n


f'(x) = 2x





xi+1 = xi f(xi)/f'(xi)



xi+1 = xi - (xi2—n)/2xi















Programaren zuzentasuna konprobatzeko sqrt() funtzio estandarra aplika daiteke.








Erro kuboa



Grafiko interaktiboarekin lan egiteko, sakatu x^3 —27000 funtzioan edo irudiaren gainean



n zenbaki erreal positibo baten erro kubikoa kalkula dezagun. Hona hemen, Newton–Raphson metodotik eratorrren formula:







Ikusi makusi... NewtonKuboa.pas ...programa. Non konprobazioa egiteko logaritmoak hartu beharko diren:




x3 = n      x = n1/3    ln(x) = ln(n1/3)     x = exp(ln(n1/3))     x = exp(1/3·ln(n))







program NewtonKuboa ;
uses
crt ;
var
rZbk, rEpsilon, rEmaitza, rAurrekoa : real ;

begin
writeln ;
writeln('NEWTON kuboa') ;
writeln('Eskuko kalkulagailu balitz bezala lan eginez') ;
repeat
write('Zenbakia eman (datu bakarra): ') ;
readln(rZbk) ;
until rZbk > 0.0 ;

rEpsilon := 0.000000001 ; (* doitasuna edo prezisioa balio konstantea *)
rEmaitza := rZbk / 2 ; (* lehendabiziko hurbilpena datuaren erdia *)

writeln('rEpsilon = ', rEpsilon:0:9, 'Lehen hurbilpena = ':33, rEmaitza:0:9) ;

repeat
rAurrekoa := rEmaitza ;
rEmaitza := (rZbk / (rAurrekoa*rAurrekoa) + 2*rAurrekoa) / 3 ;
until abs(rEmaitza - rAurrekoa) <= rEpsilon ;

writeln ;
writeln(rZbk:0:8,'-ren erro kuboa (Newton) ', rEmaitza:0:16, ' da') ;
writeln(rZbk:0:8,'-ren erroa (logaritmoz) ', Exp(1/3*Ln(rZbk)):0:16, ' da') ;

writeln ;
writeln('==============================') ;
writeln('EDOZEIN tekla sakatu amaitzeko') ;
writeln('==============================') ;
repeat until keypressed ;
end.








Iturburu-programak argitaratu aurretik, lagungarria izan daitekeelako, har itzazu programa exekutagarriak eGela zerbitzuko Newton.exe delako karpetatik:


  • NewtonKarratua.exe

  • NewtonKuboa.exe





iruzkinik ez:

Argitaratu iruzkina