% Metodo de Euler para integrar EDOs, version vectorial.
% ENTRADA:
% 1) una funcion anonima f(t,x)
%    de dos variables:
%    t: numerica
%    x: vector columna
% 2) un vector T de valores temporales en que calcular la solucion
% 3) un vector x0 de valores iniciales de la x para t = T(1)

% SALIDA:
% una matriz de tantas filas como x0 y tantas columnas como T, que
% aproxima la solucion de la EDO dada por f

function [y] = eulervector(f, x, y0)
    % creamos y lleno de ceros con el tamanyo adecuado
    y = zeros(length(y0),length(x));
    % almacenamos las condiciones iniciales en la primera posicion
    y(:,1) = y0;

    % Bucle de Euler (es igual que siempre porque Matlab es vectorial)
    for s = 2:length(x)
         y(:,s) = y(:,s-1) + (x(s) - x(s-1)) * f(x(s-1),y(:,s-1));
    end
end
