function estsuper

% Bestimme den Wert von p in der GDG,
%     m' = (e/k) - (p/k)*m,  m(0) = m0
% wobei die berechnete Loesung moeglichst nah bei (simulierten) Daten liegt.

% Energieabfluss-Parameter, exakter Wert zu bestimmen
    pexakt = 21.6;
% Energiezufluss, pro Tag
    e = 5000;
% Dichte, kcal/kg
    k = 7800;
% anfaengliche Masse
    m0 = 84;
% Zeitpunkte in der die Loesung ausgegeben wird
    tpte = (0:30)';
% exakte Loesung der GDG m' = (e/k) - (p/k)*m,  m(0) = m0
    mexakt = (e/pexakt) + (m0 - e/pexakt)*exp(-tpte*pexakt/k);
% Rauschengrad in den Daten
    ns = 5;
% verrauschte Loesung, (simulierte) Daten fuer die Bestimmung von p
    mdata  = mexakt + (ns*m0/100)*randn(31,1);

% zu minimierende Ziel-Funktion, zur Bestimmung von p
    f = @(p) norm(mdata - super(p),1);

% anfanglicher Wert fuer die Abschaetzung von p
    p0 = 20;
% Optionen zur Minimierung
    opts = optimset('MaxFunEvals',1000,'TolX',1.0e-6);
% Minimierung zur Bestimmung von p
    p = fminsearch(f,p0,opts);

% Ergebnisse
    disp(['Exakter Wert = ',num2str(pexakt)])
    disp(['Rauschengrad in Daten = ',num2str(ns),'%'])
    disp(['Abgeschaetzter Wert = ',num2str(p)])

end
