% Musterlösung
%
% Numerische Mathematik, SS 2013
%
% Auswerten eines Polynoms bzw. einer rationalen Funktion mit dem
% Horner-Schems
%
% Ingolf Busch, Juni 2013

% Input: x  Auswertungspunkte
%        a  Koeffizienten des Zaehlerpolynoms bzw. des Polynoms
%        b  Koeffizienten des Nennerpolynoms

% Output: y  Funktionswerte

function y = my_horner(x,a,b)

if nargin > 2 % rationale Funktion
    
    nenner = b(1);
    for i =2:length(b)
        nenner = b(i)+ nenner.*x;
    end

end

zaehler = a(1);
for i=2:length(a)
    zaehler = a(i) + zaehler.*x;
end

if nargin == 2 % Polynom
    
    y = zaehler;
else
    y = zaehler./nenner;
end