function [ymod,dyda] = funcs_alu(x,a,ma,ndata)

% Eingabe-Parameter:  x  Zeilenvektor der x-Komponenten der geg. Punkte
%                     ndata  Zahl der geg. Punkte
%                     ma     Zahl der Fit-Parameter
%                     a      Zeilenvektor der guessed values fuer die Fit-Paramter

%  Ausgabe-Parameter:  ymod    Zeilenvektor mit den ndata Werten der Modellfunktion
%                      dyda    Matrix (1. Index=Nummer des Parameters,
%                                      2. Index=Nummer des Datenpunktes) mit den partiellen
%                              Ableitungen der Modellfunktion nach den Modellparametern


%  f= y(1) + y(2) exp(-y(3) d) + y(4) exp(-y(5) d)

d = x;

dyda = zeros(ma,ndata);
    for j=1:ndata       % Schleife über die Messpunkte- numer
        
        %Ableitung nach den parametern
        dyda(1,j) =1; 
        dyda(2,j) =exp(-a(3) * d(j)); 
        dyda(3,j) = -a(2) * exp(-a(3) * d(j)) * d(j);
        dyda(4,j) = exp(-a(5) * d(j));
        dyda(5,j) = -a(4) * exp(-a(5) * d(j)) * d(j);
	       
        %y werte
	ymod(j) = a(1) + a(2) * exp(-a(3) * d(j)) + a(4) * exp(-a(5) * d(j));
    end
ymod = ymod';  