function [ymod,dyda] = funcs(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=Ka * (Ea0 - E) +  Kb * (Eb0 - E)
% f=a(1) * (a(2) - E) +  a(3) * (a(4) - E)


E = x;

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