// Borrelli, 2005. Ecuaciones Diferenciales
// Ejemplo 2.5.2. Página 152
// y'=y sen(3t), y(0)=1, 0<=t<=4.
//
// Elaboró: Ing. Claudia Sánchez García
// Ing. Jaime Zaragoza
//-----------------------------------------------------------------------------
clc //Limpiar pantalla.
clf(0) //Limpiar figura gráfica anterior
//-----------------------------------------------------------------------------
// INICIALIZACIÓN DE VALORES
h=0.2; //Tamaño del intervalo o escalón
N=4/h; //Límite superior del número de escalones
t0=0; //Tiempo inicial en t=0.
ti=t0; //Valor inicial de ti que se almacena en a(i)
y0=1; //Condición inicial para y(t0)=y0
yi=y0; //Valor inicial de "yi" que se almacena en el vector b(i)
//------------------------------------------------------------------------------
for i=1:N; //Número de escalones
a(i)=ti; //Vector de valores de ti
ti=t0+i*h; //Tiempo ti
b(i)=yi; //Vector de valores de yi
yi=yi+h*yi*sin(3*ti); //Valores de yi
end
//-----------------------------------------------------------------------------
c=[a,b]; //Matriz de resultados
disp(c) //Presentación de resultados
plot(a,b,"*-") //Gráfica con los vectores a y b
xgrid
xtitle("Metodo de Euler para y´=ysen(3t)","Tiempo t","y(t)")
g=gca();
g.title.font_size=5;
g.labels_font_size=4;
g.x_label.font_size=4;
g.y_label.font_size=4;
//----------------------------------------------------------------------------
// SOLUCIÓN VERDADERA
x=0:0.1:4;
y=%e^((1-cos(3*x))/3);
plot(x,y) //Gráfica de la función verdadera