function eulerheun(a,b,t0,y0,N)

%% Bemenõ paraméterek listája

% a           az intervallum kezdete
% b           az intervallum vége
% t0          a kezdeti idõpont
% y0          a kezdeti érték
% N           a lépésközök száma


%% Kimenõ paraméter

% y           a numerikus megoldás vektora
% y(N+1)      a numerikus megoldás


%% Elõkészületek

h=(b-a)/N;                    %lépésköz
x=linspace(a,b,N+1);          % az intervallum felosztása
y=zeros(1,N+1);               % numerikus megoldas vektora


%% Az Euler-Heun módszer algoritmusa

y(1)=y0;
t(1)=t0;
for j=1:N
        y(j+1)=y(j)+h/2*[f(a+(j-1)*h, y(j))]+h/2*[f(a+j*h,y(j)+h*f(a+(j-1)*h, y(j)))];
end

%y;
y


%% Az f, vagyis az y'(t)=f(t,y(t)) egyenlet jobboldala 
function ered=f(t,y)

ered=y+t*cos(t);