function [y] = gety(dglname,options,knoten,ya,u,parameter)
% ---------------------------------------------------------------
% Loesung eines Optimalsteuerungsproblems
%
% In diesem File wird die Trajektorie intervallweise integeriert
% und die Zustaende an den einzelnen Knoten bestimmt.
% Dieses File ist nicht an ein spezielles Beispiel gebunden!
% ---------------------------------------------------------------
% Eingabe - Parameter
% dglname : Name der Datei, in denen die Differentialgleichungen definiert sind.
% options : Optionen fuer den DGL-Loeser, die mit odeset gesetzt werden koennen.
% knoten: Die einzelnen Diskretisierungspunkte
% ya : (ndgl)-Vektor der Anfangswerte
% u  : (n+1)-Vektor. u_i Steuerung fuer das Intervall [t_i,t_{i+1}]
% parameter : enthaelt Parameter, die unveraendert an das odefile 
%             weitergegeben werden.
% ---------------------------------------------------------------
% Rueckgabe - Parameter:
% y : (n+1) x  ndgl Matrix. y_{j k} gibt den Zustand y_k(t_j) an.
% ---------------------------------------------------------------

ndgl = size(ya,1);
n = size(knoten,1)-1;
y = zeros(n+1,ndgl);
y(1,:) = ya';

for j=1:n
   % das j-te Intervall wird definiert.
   tspan = knoten([j,j+1]);
   % der Wert von y(t_{j+1}) wird bestimmt
   [t,yj1] = ode45(dglname,tspan,y(j,:),options,u(j),parameter);
   y(j+1,:) = yj1(size(t,1),:);
end;
