Eulerren metodo

Matematika eta konputazio arloetan, Eulerren metodo 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:

H B P = { d y d x = f ( x , y ) y ( x 0 ) = y 0 y ( x i ) = ? {\displaystyle 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

(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 {\displaystyle A_{0}} moduan izendatzen dena (ikusi 1. grafikoa). Ekuazio diferentzialetik lortu daiteke kurbaren malda A 0 {\displaystyle A_{0}} puntuan, eta beraz, zuzen ukitzilea.

Pauso edo urrats txiki bat eman behar da zuzen ukitzilean zehar A 1 {\displaystyle 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 {\displaystyle A_{1}} kurbaren gainean dagoela, eta A 0 {\displaystyle A_{0}} rako egindako prozedura berdina jarraituko dugu. Zenbait pauso ostean, polilerro bat ( A 0 A 1 A 2 A 3 . . . {\displaystyle A_{0}A_{1}A_{2}A_{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, d y d x = f ( x , y ) {\displaystyle {\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 ) {\displaystyle f(x_{0},y_{0})} balioa soluzioaren aldaketatzat hartzen du, alegia, x {\displaystyle x} aldagaiaren aldaketa unitarioak y {\displaystyle y} aldagaiari f ( x 0 , y 0 ) {\displaystyle f(x_{0},y_{0})} aldaketa eragiten diola suposatzen du. Ondorioz, hasierako balioa ezagutuz, hau da, x {\displaystyle x} aldagaiaren x 0 {\displaystyle x_{0}} balioarentzat y {\displaystyle y} aldagaiak y 0 {\displaystyle y_{0}} balioa hartzen duela jakinaz, x {\displaystyle x} aldagaiari h {\displaystyle h} aldaketa eragiten badiogu y {\displaystyle y} aldagaiak jasango duen aldaketa h f ( x 0 , y 0 ) {\displaystyle h*f(x_{0},y_{0})} izango dela suposatzean oinarritzen da metodoa. Suposizio horretan oinarrituz x {\displaystyle x} aldagaiak x 0 + h {\displaystyle x_{0}+h} balioa duenean y {\displaystyle y} aldagaiak y 0 + h f ( x 0 , y 0 ) {\displaystyle y_{0}+h*f(x_{0},y_{0})} balioa hartuko luke. Jakina, h {\displaystyle h} txikia bada errorea ere txikia izango da, baina h {\displaystyle h} handia bada metodoak emango duen soluzioa benetako soluziotik urrundu egingo da.

Metodoaren azalpena (II)

Gure problemaren soluzioa y = y ( x ) {\displaystyle y=y(x)} balitz, hasierako balioa kontuan hartuz, y 0 = y ( x 0 ) {\displaystyle y_{0}=y(x_{0})} izango litzateke, eta ekuazio diferentzialak y ( x 0 ) = f ( x 0 , y 0 ) {\displaystyle y'(x_{0})=f(x_{0},y_{0})} adieraziko luke. Hori kontuan hartuz, y ( x 0 + h ) {\displaystyle y(x_{0}+h)} funtzioaren Taylor seriea honako adirazpen hau litzateke:

y ( x 0 + h ) = y ( x 0 ) + h y ( x 0 ) + h 2 2 y ( x 0 ) + . . . {\displaystyle 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 ) y 1 = y 0 + h f ( x 0 , y 0 ) {\displaystyle 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 {\displaystyle x_{0},y_{0}} soluziotik abiatuta x i , y i {\displaystyle x_{i},y_{i}} zenbakizko soluzioak ematen ditu. Horretarako x i = x i 1 + h = x 0 + i h {\displaystyle 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 ) {\displaystyle 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 {\displaystyle y'=y} y ( 0 ) = 1 {\displaystyle y(0)=1}

Lortu behat dugu y ( 4 ) {\displaystyle y(4)} ren hurbilketa bat Eulerren metodoa erabiliz.

Urratsaren tamaina 1 hartuta ( h = 1 {\displaystyle h=1} )

Eulerren metodoa aplikatu

y n + 1 = y n + h f ( t n , y n ) {\displaystyle y_{n+1}=y_{n}+hf(t_{n},y_{n})}

Hau da, lehenik eta behin kalkulatu behar dugu f ( t 0 , y 0 ) {\displaystyle f(t_{0},y_{0})} . Ekuazio diferentzial honetan f {\displaystyle f} funtzioa definitzen da f ( t , y ) = y {\displaystyle f(t,y)=y} moduan.

f ( t 0 , y 0 ) = f ( 0 , 1 ) = 1 {\displaystyle f(t_{0},y_{0})=f(0,1)=1} lortzen dugu.

2.Grafikoa. Urdinez Eulerren metodoa erabiliz, y = y {\displaystyle y'=y} eta y ( 0 ) = 1 {\displaystyle y(0)=1} ekuazioen adierazpen grafikoa. Gorriz y ( t ) = e t {\displaystyle y(t)=e^{t}} kurbaren ekuazio zehatza. Urratsa h = 1 {\displaystyle h=1} da.

Aurreko pausoa egiterakoan, lortzen dugu ( 0 , 1 ) {\displaystyle (0,1)} puntuko zuzen ukitzailearen. Gogoratu malda definitzen dela Δ y {\displaystyle \Delta y} ( y {\displaystyle y} ren aldaketa)ren eta Δ t {\displaystyle \Delta t} ( t {\displaystyle t} ren aldaketa) ren zatiketa moduan, hau da Δ y Δ t {\displaystyle {\frac {\Delta y}{\Delta t}}} .

Ondoren, maldaren balioa biderkatu behar da urratsaren taminarekin h {\displaystyle h} , kasu honetan 1 {\displaystyle 1} dena:

h f ( y 0 ) = 1 1 = 1. {\displaystyle h\cdot f(y_{0})=1\cdot 1=1.}

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

y 0 + h f ( y 0 ) = y 1 = 1 + 1 1 = 2 {\displaystyle y_{0}+hf(y_{0})=y_{1}=1+1\cdot 1=2}

Prozedura berdina erabili behar da y 2 {\displaystyle y_{2}} , y 3 {\displaystyle y_{3}} eta y 4 {\displaystyle y_{4}} lortzeko.

y 2 = y 1 + h f ( y 1 ) = 2 + 1 2 = 4 , y 3 = y 2 + h f ( y 2 ) = 4 + 1 4 = 8 , y 4 = y 3 + h f ( y 3 ) = 8 + 1 8 = 16. {\displaystyle {\begin{aligned}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{aligned}}}

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

n {\displaystyle n} y n {\displaystyle y_{n}} t n {\displaystyle t_{n}} f ( t n , y n ) {\displaystyle f(t_{n},y_{n})} h {\displaystyle h} Δ y {\displaystyle \Delta y} y n + 1 {\displaystyle y_{n+1}}
0 1 0 1 1 1 2
1 2 1 2 1 2 4
2 4 2 4 1 4 8
3 8 3 8 1 8 16

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

Beste urrats tamainak erabiliz

3. Grafikoa. h = 0.25 {\displaystyle 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 {\displaystyle h=1} kasua adierazten du, eta bigarrena 3. Grafikoan adierazita dago.

Urratsa y ( 4 ) {\displaystyle y(4)} Eulerren metodoaren bidez Aldea edo errorea
1 16.00 38.60
0.25 35.53 19.07
0.1 45.26 9.34
0.05 49.56 5.04
0.025 51.98 2.62
0.0125 53.26 1.34

Azkeneko zutabearen errorea e 4 {\displaystyle e^{4}} eta Eulerren bidezko hurbilketaren arteako aldea da t = 4 {\displaystyle 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 {\displaystyle 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

Autoritate kontrola
  • Wikimedia proiektuak
  • Wd Datuak: Q868454
  • Commonscat Multimedia: Euler method / Q868454

  • Wd Datuak: Q868454
  • Commonscat Multimedia: Euler method / Q868454