function [ y, u_out ] = qc_skeleton(  )
%QC_BELEG Dies stellt das Grundgerüst für die Lösung der 2. Belegaufgabe
% mit dem Thema Numerik dar.
%   Bitte halten Sie sich an die zugehörige Aufgabenstellung und ergänzen
%   Sie entsprechend die vorliegende Matlab-Funktion.
%
%   Ausgabewerte:
%     y ... 6xN Matrix mit den Systemzuständen zu jedem Zeitschritt in der 
%           Form [3xN Position; 3xN Geschwindigkeit]
%     u_out  ... 4xN Matrix mit den Ansteuerwerten für das QC-Modell mit 
%                einer Freqzenz von 100 Hz

    h = 0.01;           % Schrittweite
    t = 0:h:10;         % Simulationszeit diskret mit 100 Hz
    freq_ctrl_v = 50;   % Regelfrequenz für Geschwindigkeit
    freq_ctrl_p = 10;   % Regelfrequenz für Position
    y0 = [0 0 0 0 0 0]; % Startwerte für Position und Geschwindigkeit
    u = [0 0 0 9.81]';  % Ansteuerwerte zu Beginn der Simulation
    Kp = 1;             % Regelparameter für P-Anteil
    Ki = 0.1;           % Regelparameter für I-Anteil
    p_soll = [1 2 0]';  % Vorgabewerte für die Positionsregelung
    
    % Ausgabewerte für Position / Geschwindigkeit initialisieren
    y = zeros(length(y0),length(t)); 
    y(:,1) = y0;
    
    % Ausgabewerte für QC-Ansteuerwerte initialisieren
    u_out = zeros(4,length(t)); 

    
    for i=2:length(t)
        
        % Positionsregler
        if mod(t(i-1),1/freq_ctrl_p) == 0
            %...
        end
        
        % Geschwindigkeitsregler
        if mod(t(i-1),1/freq_ctrl_v) == 0
            %...
        end
        
        % Simulationsschritt
        %...
        
    end
    
    % Plotten des Geschwindigkeitsverlaufes über die Zeit (Alle 3 Raumrichtungen in einem Diagramm)
    figure('Name','Velocity'); hold on; grid on;
    %...
    
    % Plotten des Positionsverlaufes über die Zeit (Alle 3 Raumrichtungen in einem Diagramm)
    figure('Name','Position'); hold on; grid on;
    %...
    
end
