% Lecture 9                  Unterprogrammtechnik 2
% 
% Übergabe eines Unterprogrammes

% Bsp: Automatisiertes Zeichnen des Graphen von y = f(x)
%      f wird in einem Unterprogramm, etwa bsp.m, ausgewertet
%

% 1. Funktions Handle

fh = @bsp
myplot_fh(fh,0,pi/2)


% 2. Zeichenkette (string), veraltet

fs = 'bsp'
myplot_fs(fs,0,pi/2)

% 3. Als Inline Objekt
% für Funktionen, die durch einen MATLAB ausdruck definiert werden)

inlf = inline('exp(-x)-sin(x)')
myplot_inlf(inlf,0,pi/2)


%
%!!! Speichern Sie folgende Unterprogramme vor Gebrauch
%!!! jeweils in einem eigenen File ab

function myplot_fh(f_handle,xmin,xmax)
%
x = linspace(xmin,xmax);
y= feval(f_handle,x);
plot(x,y)
return

function myplot_fs(f_string,xmin,xmax)
%
x = linspace(xmin,xmax);
y= feval(f_string,x);
plot(x,y)
return

function myplot_inlf(f,xmin,xmax)
%
x = linspace(xmin,xmax);
y= f(x);
plot(x,y)
return