%% Hauptskript
clc

% datawaterfall ist eine Funktion zum Bereitstellen der Daten
ym=datawaterfall';
% x-Werte generieren
xm=0:numel(datawaterfall)-1;

% Ausgabe der Messerte
plot(xm,ym);

hold on;

options = gaoptimset('PopulationSize',2000,'StallGenLimit', 10000,'TolFun',1e-16);
[paropt,Fval,exitFlag,Output]=ga(@(par) TriModel(xm,ym,par,2),4,options);

xx=linspace(0,numel(datawaterfall)-1,200);
yy=TriFunc(xx,paropt);

% Ausgabe der Approximation
plot(xx,yy);
