function [xk,tk]=sample(xt,interval,fs,lastIn)
% mintavételezõ függvény,
% paraméterei: 
%  * xt :egy folytonos függvényt function handle típusban (lásd a "help function_handle")
%  * interval: a mintavételezés idõtartománya vektor formátumban.
%               [Tmin,Tmax] elrendezésben. pl interval=[0,100]
%  * fs: a mintavételezési frekvencia azt mondja meg, hogy egységnyi idõ
%       alatt hány mintát kívánunk venni a jelbõl
%  * lastIn: true/false ha Tmax osztható fs-el, akkor az utolsó pontot
%   hozzávegye-e a mintavételhez (alapértelmezett nem)

% bemeneti paraméterek ellenõrzése
if nargin<3
    error('nincs elég paraméter, lásd a helpet');
end
if nargin<4
    lastIn=false;
end

if ~isa(xt,'function_handle')
    error(' xt-nek function_handle-nek kell lennie. lásd a helpet');
elseif ~(isvector(interval) && length(interval)==2)
    error('az interval-nak  két elemû vektornak kell lennie [Tmin,Tmax] formában');
elseif ~isscalar(fs)
    error('fs-nek számnak kell lennie.');
end
tk=interval(1):1/fs:interval(2);
if lastIn
    xk=xt(tk);
else
    xk=xt(tk(1:end-1));
    tk=tk(1:end-1);
end

