texto: metodos numericos para ecuaciones diferenciales ordinarias
texto: metodos numericos para ecuaciones diferenciales ordinarias
texto: metodos numericos para ecuaciones diferenciales ordinarias
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