function [xmin, min_value, xmax, max_value] = ...
	minmax(first_value, last_value, num_steps, func)

% PEng 5.22 (5.17)
% Returnerar minsta och största värdet av func på intervallet 
% first_value - last_value

% Kolla indata
if (nargin ~= 4)
	error('Wrong number of arguments')
end

% Dela in intervallet i num_steps steg
x = first_value:((last_value - first_value)/num_steps):last_value;

% Beräkna funktionsvärdet i varje punkt
y = feval(fun, x);

% Hitta minsta och största värdet
[min_value, min_index] = min(y);
xmin = x(min_index);
[max_value, max_index] = max(y);
xmax = x(max_index);
