function takagi_sugeno()
% ======================================================================= %
% Fuzzy-Methoden Matlab-Uebungen
% ----------------------------------------------------------------------- %
% Aufgabenstellung:
%   siehe Uebungsblatt, Aufgabe 6
% ======================================================================= %


%% Datenpunkte
% ----------------------------------------------------------------------- %
xi = [-6.00 -3.00 -1.50 -0.80 -0.25  0.25 0.80 1.50 3.00 6.00];
yi = [-1 -1.00 -0.91 -0.66 -0.24  0.24 0.66 0.91 1.00 1.00];


%% Zugehoerigkeitsfunktionen der Funktionalsysteme G und H
% ----------------------------------------------------------------------- %

% G: g1 = 1, g2 = -1
mu_g1 = ...;
mu_g2 = ...;

% H: h1 = x, h2 = -x
mu_h1 = ...;
mu_h2 = ...;


%% Ausgang y_g und y_h der Takagi-Sugeno-Systeme
% ----------------------------------------------------------------------- %

y_g = ...;

y_h = ...;


%% Ergebnisse
% ----------------------------------------------------------------------- %

% Anzahl der x-Werte, entspricht Aufloesung der Kurve
N = 201;

% x-Koordinaten zur Funktionsauswertung
x = linspace(min(xi), max(xi), N);

% 'figure' Fenster
h = figure(1);
set(h, 'Name', 'Takagi-Sugeno-System: Zugehoerigkeiten');

% Zugehoerigkeitsfunktionen der Funktionalsysteme
subplot(2,1,1);
plot(x, mu_g1(x), x, mu_g2(x));
xlabel('x'), ylabel('\mu');
legend('mu_{g1}', 'mu_{g2}', 'Location', 'NorthEastOutside')
title('Zugehoerigkeiten G')

subplot(2,1,2);
plot(x, mu_h1(x), x, mu_h2(x));
xlabel('x'), ylabel('\mu');
legend('mu_{h1}', 'mu_{h2}', 'Location', 'NorthEastOutside')
title('Zugehoerigkeiten H')

% Ausgang in Abhaengigkeit von x, Vergleich mit tatsaechlichem
% Kurvenverlauf
h = figure(2);
set(h, 'Name', 'Takagi-Sugeno-System: Ausgang');
plot(x, y_g(x), x, y_h(x), x, tanh(x));
xlabel('x'), ylabel('y');
legend('y_g', 'y_h', 'f(x) = tanh(x)', 'Location', 'SouthEast');
title('Ausgang y der Takagi-Sugeno-System');

