Eulerren metodoa

Matematika eta konputazio arloetan, **Eulerren metodoa** izenez ezagutzen den prozedura hasierako balio ezaguna duen ekuazio diferentzialak ebazteko erabiltzen den zenbakizko integrazioko metodoa da. Leonhard Eulerren omenez dauka izena, lehenengo aldiz bere *Institutiones calculi integralis* liburuan proposatu zuelako (1768–1870 argitaratua). Hasierako balioa ezaguna denean, eta ezagutza horretan oinarrituz, metodo honek inguruko puntuetako soluzioen hurbilketak lortzen ditu.

Errore lokala (urrats bakoitzeko errorea) proportzionala da urratsaren tamainaren karratuarekin, eta errore globala proportzionala da urratsaren tamainarekin.

Zenbakizko metodoen arteko sinpleena da **Eulerren metodoa** eta Hasierako Balioko Problemak ebazteko erabiltzen da:
:  HBP = 
   \left \{
      \begin{array}{rcl}
          \frac{dy}{dx} & = & f(x,y)\\
           y(x_0) & = & y_0\\ 
           y(x_i) & = & ?
      \end{array}
   \right .
   

## Deskribapen geometrikoa 
### Helburua eta bere eraginkortasunaren arrazoia 
thumb|(1. Grafikoa) Eulerren metodoaren ilustrazioa da. Ezezaguna den kurba urdinez, eta hurbilketa gorriz.
Buruketa moduan pentsatu ezezagunaren kurba baten forma kalkulatu behar duzula, kurbaren hasierako puntua eta betetzen duen ekuazio diferentziala ezagutuz. Orduan, ekuazio diferentzial hori hartu daiteke kalkulatzeko kurbaren zuzen ukitzailearen malda kurbaren edozein puntutan, behin puntu horren koordenatuak dakizkigu.   

Ideia da, nahiz eta grafika ez dugun ezagitzen hasiera batean, hasierako puntua A_0 moduan izendatzen dena (ikusi 1. grafikoa). Ekuazio diferentzialetik lortu daiteke kurbaren malda A_0 puntuan, eta beraz, zuzen ukitzilea. 

Pauso edo urrats txiki bat eman behar da zuzen ukitzilean zehar A_1 punturartea. Pauso txiki honetan zehar malda ez da gehiegi aldatzen, beraz ezagutzen ez dugun grafikaren antzekoa izango da. Orduan suposatzen dugu A_1 kurbaren gainean dagoela, eta A_0rako egindako prozedura berdina jarraituko dugu. Zenbait pauso ostean, polilerro bat (A_0A_1A_2A_3...) lortuko dugu; normalean polierro hau gure kurba originalaren oso antzeoa izango da, eta hauen arteko aldea minimizatu dezakegu pausoren tamaina behar bezain txikia bada.

## Metodoaren azalpena (I) 
Ekuazio diferentzialak, \frac{dy}{dx} = f(x,y) ekuazioak, problemaren aldaketa nolakoa den adierazten du, ondorioz, puntu jakin batean soluzioak egiten duen kurbaren aldaketa ezagutzeko bidea eskaintzen digu. Eulerren metodoak hasierako balioan oinarrituz, f(x_0,y_0) balioa soluzioaren aldaketatzat hartzen du, alegia, x aldagaiaren aldaketa unitarioak y aldagaiari f(x_0,y_0) aldaketa eragiten diola suposatzen du. Ondorioz, hasierako balioa ezagutuz, hau da, x aldagaiaren x_0 balioarentzat y aldagaiak y_0 balioa hartzen duela jakinaz, x aldagaiari h aldaketa eragiten badiogu y aldagaiak jasango duen aldaketa  h * f(x_0,y_0) izango dela suposatzean oinarritzen da metodoa.
Suposizio horretan oinarrituz x aldagaiak x_0 + h balioa duenean y aldagaiak y_0 + h * f(x_0,y_0) balioa hartuko luke. Jakina, h txikia bada errorea ere txikia izango da, baina h handia bada metodoak emango duen soluzioa benetako soluziotik urrundu egingo da.

## Metodoaren azalpena (II) 
Gure problemaren soluzioa y=y(x) balitz, hasierako balioa kontuan hartuz, y_0= y(x_0) izango litzateke, eta ekuazio diferentzialak y'(x_0)=f(x_0,y_0) adieraziko luke. Hori kontuan hartuz, y(x_0+h) funtzioaren Taylor seriea honako adirazpen hau litzateke:

y(x_0+h) = y(x_0) + h*y'(x_0) + \frac{h^2}{2}*y''(x_0) + ...

Taylor-en serieko lehenengo osagai biak hartzen baditugu Eulerren hurbilketa lortuko dugu, alegia:

y(x_0+h)=y(x_1)\sim y_1=y_0 + h*f(x_0,y_0) 

Taylorren metodoa erbaili daiteke Eulerren metodoarekin egindako akatsak aztertzeko, eta hedatu daiteke Runge-Kutta metodoak eraikitzeko.

## Metodoaren urratsak 
Metodoak x_0,y_0 soluziotik abiatuta x_i,y_i zenbakizko soluzioak ematen ditu. Horretarako x_i = x_{i-1} +h = x_0 +i*h balioak hartzen ditu, eta y_i = y_{i-1} + h * f(x_{i-1},y_{i-1}) balioak kalkulatzen ditu. Urrats bakoitzean aurreko urratseko balioak erabiltzen ditu zenbakizko soluzioak kalkulatzeko.

## Adibidea 
Hasieran dakizkigun datuak:

y'=y      y(0)=1

Lortu behat dugu y(4)ren hurbilketa bat Eulerren metodoa erabiliz. 

=== Urratsaren tamaina 1 hartuta (h=1) ===
Eulerren metodoa aplikatu

y_{n+1} = y_n + hf(t_n,y_n)

Hau da, lehenik eta behin kalkulatu behar dugu f(t_0, y_0). Ekuazio diferentzial honetan f funtzioa definitzen da  f(t,y) = y moduan.

f(t_0,y_0) = f(0,1) = 1 lortzen dugu.
thumb|278x278px|2.Grafikoa. Urdinez Eulerren metodoa erabiliz, y'=y  eta y(0)=1 ekuazioen adierazpen grafikoa. Gorriz y(t)=e^t kurbaren ekuazio zehatza. Urratsa h=1 da.
Aurreko pausoa egiterakoan, lortzen dugu (0,1) puntuko zuzen ukitzailearen. Gogoratu malda definitzen dela \Delta y (y ren aldaketa)ren eta \Delta t (t ren aldaketa) ren zatiketa moduan, hau da \frac{\Delta y} {\Delta t}.

Ondoren, maldaren balioa biderkatu behar da urratsaren taminarekin h, kasu honetan 1 dena:

h \cdot f(y_0) = 1 \cdot 1 = 1. 

Urratsaren tamaina \Delta t (t ren aldaketa)  denez, urratsa eta zuzen ukitzailearen malda biderkatzean  \Delta y (y ren aldaketa) lortuko dugu. Emaitza hau batu behar da hasierako y  ren balioari lortzeko hurrengo balioa erabiliko duguna kalkuluak egiteko:

y_0 + hf(y_0) = y_1 = 1 + 1 \cdot 1 = 2 

Prozedura berdina erabili behar da y_2 , y_3  eta y_4  lortzeko.

\begin{align}
y_2 &= y_1 + hf(y_1) = 2 + 1 \cdot 2 = 4, \\
y_3 &= y_2 + hf(y_2) = 4 + 1 \cdot 4 = 8, \\
y_4 &= y_3 + hf(y_3) = 8 + 1 \cdot 8 = 16.
\end{align}  

Prozedura edo algoritmo hau oso errepikakorra denez, kalkuluak erraztu eta akatsak sahiestu ditzake emaitzak taula batean adieraztea.

Ondorioztatzen dugu y_4=16   dela. Kurbaren ekuazioa kasu honetan y(t)=e^t   eta y(4)=e^4\approx54.589   da. Argi dago Eulerren bidez egindako hurbilketa ez dela batere zehatza aukeratutako h   urratsa handiegia delako. Hala ere, gure kalkuluen izaera egokiak ziren 2. Grafikoan ikusi daitekeen moduan. 

### Beste urrats tamainak erabiliz 
thumb|294x294px|3. Grafikoa. h=0.25 kasua.
Hasieran adierazi den moduan, Eulerren metodoa zehatzagoa da geroz eta urrats txikiagoa erabiltzen denean. Azpiko taulak erakusten ditu urrats desberdinak erabiliz lortzen diren emaitza desberdinak. Lehenengo lerroa aurreko h=1   kasua adierazten du, eta bigarrena 3. Grafikoan adierazita dago. 

Azkeneko zutabearen errorea e^4   eta Eulerren bidezko hurbilketaren arteako aldea da t=4   denean. Lerro bakoitzean, urratsa aurrekoaren erdia da eta errorea, gutxi gora behera, aurrekoare erdia da baita ere. Beraz, ikusi daiteke, gutxienez urrats tamaina txikientzat errorea proportzionala dela erroarekin. In the bottom of the table, the step size is half the step size in the previous row, and the error is also approximately half the error in the previous row. 

Taula hau estrapolatzen badugu, 3 hamartarretara zuzena den emaitza lortzeko h= 0.00001  hartu beharko genuke eta beraz, prozedura 400,000 aldiz errepikatu. Honek esan nahi du algoritmo hau nahiko garestia da konputazionalki, eta horregatik beste metodo batzu erabiltzen dira, adibidez,  Runge–Kutt metodoak, batez ere, zehaztasun handia bilatzen denean 

## Kanpo estekak