function fevalFun(f,a,b)
% ::::::::::::::::::::::::::::::::::::::::::::::
disp(['°°°°°°°°°°°° S T A R T °°°°°°°°°°°°°°°°°°°° ',date,' °°°°°°°°°°°°°°°°°°°°°'])
close all;
% FUNCTION myFunPlot(f,a,b) 
% ::::::::::: zeichnet f(x) im Intervall (a,b)  dabei Auswertung von 'f' mittels feval
% ::::::::::: Aufruf : fevalplot(1,-2,1)
% :::::::::::             fevalplot(2,-pi,pi)
% :::::::::::             fevalplot(3,-4,5)
% ::::::::::              fevalplot(5,-2,1)
% ::::::::::::::::::::::::::::::::::::::::::::::::::::::
funy = {'humps'; 'sin'};
% ::::::::::::::::::::
x = a:0.01:b;
funy{3} = inline('1./x');                                              % SOS : divison to zero !!!
funy{4} = inline('1./(1+x.^2)+1./((x-5).^2+2) - 0.2');
funy{5} = inline('1/3.*x.^3 - 4/3.*x');
% :::::::::::::::::::::::::::: 
 if ~isreal(f)  && ~isnumeric(f)
    disp('der falsche Mathe - Raum') 
 end
if f(~mod(f,2))                                 % > integer für f ???
    warndlg('Pech gehabt')
end
if ~mod(f,2) &&  ceil(f) == floor(f)             % integer für die f
     error(' Not  Integer !!!');
end
 if nargin<3     
     error(' SoS : too less  Inputs  !!');
     warndlg('next turn')
end
% ::::::::::.
switch f
  case 3 
     Y = feval(funy{f}, x);
     ha = plot(x,Y, 'r-','Linewidth',2)
     grid
     set(gca, 'color','none','XLim', [a b])
  case {1,2,4,5}
     y = feval(funy{f},x);
     hb = plot(x,y, 'b-', 'Linewidth',2)
     grid
     set(gca, 'color','none','XLim', [a b])
     end
% :::::::::::: Koordinaten - Kreuz ::::::
line( 0*[1,1] ,get(gca,'Ylim'), 'color', 'k', 'linewidth',1.5 )
line( get(gca,'Xlim'), 0*[1,1],'color', 'k', 'linewidth',1.5 )
end

