    % preg3, lab10, 521230 S2-2011

% la funcion para evaluar la fuerza aplicada es un parametro de entrada
% adicional a la funcion para evaluar la EDO a resolver

% aca se dan mas parametros de entrada a ode45
% los 3 primeros son los mismos de antes
% el 4to es una celda vacia porque no quiero cambiar ninguna de las
% opciones de integracion. si quisiera deberia hacerlo mediante un llamado
% a odeset y dar como entrada a ode45, en lugar de {}, el parametro de
% salida de odeset
% el 5to parametro es la funcion donde se describe la fuerza aplicada a la
% masa, como ella es distinta cada vez, quiero que sea un parametro de
% entrada a la funcion donde se describe la EDO (vea despl_masa). ode45 no
% hara nada con este parametro de entrada, solo darselo a la funcion donde
% se evalua la parte derecha de la EDO.

% parte 1: masa se desplaza un metro de su posicion de equilibrio y
% comienza desde el reposo: u0 = 1, v0 = 0
% fuerza aplicada es 0 (implementada en fuerza1)

[t1,sol1] = ode45(@despl_masa,[0 60],[1;0],{},@fuerza1);
plot(t1,sol1(:,1));
title('desplazamiento masa, f(t) = 0')
figure(2);
plot(t1,sol1(:,2));
title('velocidad masa, f(t) = 0');


% parte 2: masa comienza en equilibrio y en reposo: u0 = 0, v0 = 0
% fuerza aplicada es cos(t) (implementada en fuerza2)

[t2,sol2] = ode45(@despl_masa,[0 60],[0;0],{},@fuerza2);
figure(3)
plot(t2,sol2(:,1));
title('desplazamiento masa, f(t) = cos(t)')
figure(4);
plot(t2,sol2(:,2));
title('velocidad masa, f(t) = cos(t)');

% parte 3: masa comienza en equilibrio y en reposo: u0 = 0, v0 = 0
% fuerza aplicada es cos(wt) (implementada en fuerza3)

[t3,sol3] = ode45(@despl_masa,[0 60],[0;0],{},@fuerza3);
figure(5)
plot(t3,sol3(:,1));
title('desplazamiento masa, f(t) = cos(wt)')
figure(6);
plot(t3,sol3(:,2));
title('velocidad masa, f(t) = cos(wt)');

