function [c, ceq] = constraints(u)

global Ad;
global Bd;
global x0;
global n;

%Berechnung der Zustände
x1(1)=x0(1);
x2(1)=x0(2);
for i=1:n-1
    x_temp1=[x1(i);x2(i)];
    x_temp2=Ad*x_temp1+Bd*u(i);
    x1(i+1)=x_temp2(1);
    x2(i+1)=x_temp2(2);
end


%% Nonlinear inequality constraints
umax = 80*x2;
umin = 20*x2;

c0 = - u .* x2;
c1 = abs(u) - abs(umax);
c2 = abs(umin) - abs(u);
c = [c0'; c1'; c2'];


%% equality constraints
%Endbedingungen
ceq(1,1)=x1(end);
ceq(2,1)=x2(end);