10.05.2013 Views

texto: metodos numericos para ecuaciones diferenciales ordinarias

texto: metodos numericos para ecuaciones diferenciales ordinarias

texto: metodos numericos para ecuaciones diferenciales ordinarias

SHOW MORE
SHOW LESS

You also want an ePaper? Increase the reach of your titles

YUMPU automatically turns print PDFs into web optimized ePapers that Google loves.

3. Parar<br />

xn+1 = xn + h<br />

yn+1 = yn + hf(xn,yn)<br />

Salida xn+1, yn+1<br />

1.2. Programa del método de Euler<br />

Vamos a programar el método de Euler usando dos function llamadas euler y fe. La<br />

función y=euler(n,a,b,h) tiene cuatro argumentos de entradas y un argumento de salida,<br />

donde n es el numero de pasos, a=x0, b=y(x0) y h el tamaño de paso.<br />

Programa euler.m<br />

function y=euler(n,a,b,h)<br />

format long<br />

x=a:h:n*h;<br />

y=zeros(n,1);<br />

y(1)=b;<br />

for k=1:n<br />

end<br />

f=fe(x(k),y(k));<br />

y(k+1)=y(k)+h*f;<br />

En la function fe se define la función f de (1.1)<br />

Programa fe.m<br />

function f=fe(x,y)<br />

f=-y+x+2;%es la función del ejemplo 1<br />

Ejemplo 1<br />

Sea la ecuación diferencial y ′ = −y + x + 2 con la condición inicial y(0) = 2, usando el<br />

método de Euler con h = 0.1, h = 0.05 y h = 0.01, aproximar y(1).<br />

Solución<br />

Al usar el programa euler.m necesitamos hallar el valor de n, que lo podemos obtener de<br />

n = xN − x0<br />

h<br />

donde <strong>para</strong> nuestro problema x0 = 0 y xN = 1 pues y(1) = y(xN)<br />

1 − 0<br />

Para h = 0.1, tenemos n = = 10. Se digitó >>euler(10, 0, 1, 0.1)<br />

0.1<br />

3

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!