% Allgemeine Einstellungen und Vorbereitungen
clear variables; 
format shortE
rng(0);

% Vorgebene Werte laden
p = parameter();

% Verwendungsbeispiel der Parameter:
% Startwerte 2 als Vektor holen und zu struct konvertieren
xInitVektor2 = p.xInitVektor(:,2);
xInitStruct2 = p.alsStruct(xInitVektor2);

% a) Implementieren Sie die Funktion N weiter unten

% b) Erzeugen Sie T, indem Sie F an den vorgebenen Stellen auswerten

% Ab hier geben wir vor die Gewichte und Schwellenwerte (xStern) nicht mehr zu kennen

% c) Zielfunktion definieren, lsqnonlin anwenden, Ergebnisse diskutieren

function y = N(x, t)
% Eine Funktion, die Vektor(d)-wertige x auf skalare y abbildet.
% Gegeben als feedforward-Netz mit Aktivierungsfunktion
%   a(s) = max(0, s^3),
% mit einer versteckten Schicht mit Neuronen mit Gewichten w und
% Schwellenwerten v und einer Ausgabeschicht mit Gewichten wo und
% Verschiebung vo.

  % Aktivierungsfunktion
  a = @(s) max(0, s.^3);

  assert(false, "TODO: Implementiere mich.");
end
