function Q_BK = Test(Q_OFF,P_OFF,U_OFF,Q_ON,P_ON,U_ON)

% Bedingung 1: P_OFF>P_ON
Index_1 = 1;
Array_1 = [];

for i = 1:length(Q_OFF)
    [Q_ON1 U_ON1 P_ON1] = offenes_Interval(Q_ON,U_ON,P_ON,P_OFF(i),0.95*P_OFF(i));
    t =length(Q_ON1);
    if ~isempty(Q_ON1)
       Array_1(Index_1:Index_1+t-1,1) = Q_OFF(i);
       Array_1(Index_1:Index_1+t-1,2) = P_OFF(i);
       Array_1(Index_1:Index_1+t-1,3) = U_OFF(i);
       Array_1(Index_1:Index_1+t-1,4) = Q_ON1;
       Array_1(Index_1:Index_1+t-1,5) = P_ON1;
       Array_1(Index_1:Index_1+t-1,6) = U_ON1;
       Index_1 = Index_1+t;
    end
end

if isempty(Array_1)
   error('Keine Punkte gefunden, die Bedingung 1: P_OFF>P_ON erfüllen.');
end

% Bedingung 2: U_OFF<U_ON
Index_2 = 1;
Array_2 = [];

for i = 1:size(Array_1,1)
    if Array_1(i,3)<Array_1(i,6)
       Array_2(Index_2,:) = Array_1(i,:);
       Index_2 = Index_2+1;
    end
end

if isempty(Array_2)
   error('Keine Punkte gefunden, die Bedingung 2: U_OFF<U_ON erfüllen.');
end

% Bedingung 3: I_3^2>0

Array_2(:,7) = Strom_Betrag(Array_2(:,1),Array_2(:,2),Array_2(:,3));
Array_2(:,8) = Strom_Betrag(Array_2(:,4),Array_2(:,5),Array_2(:,6));
h = Array_2(:,2)-Array_2(:,5)-3*R_1*Array_2(:,7).^2-3*R_2*(Array_2(:,8)*ue_2).^2;
Index_3 = 1;
Array_3 = [];
h_3 = [];
for i = 1:length(h)
    if h(i)>0
       Array_3(Index_3,:) = Array_2(i,:);
       h_3(Index_3,1) = h(i);
       Index_3 = Index_3+1;
    end
end

if isempty(Array_3)
   error('Keine Punkte gefunden, die Bedingung 3: I_3^2>0 erfüllen.');
end  

Q_BK = 3*X_1*Array_3(:,7).^2+3*X_2*Array_3(:,8).^2+h_3./R_3*X_3+Array_3(:,4)-Array_3(:,1);

 


function [A B C] = offenes_Interval(A_alt,B_alt,C_alt,c_max,c_min)

Index = 1;

A = [];
B = [];
C = [];

for i = 1:length(A_alt)
    if c_min<C_alt(i)<c_max
       A(Index) = A_alt(i);
       B(Index) = B_alt(i);
       C(Index) = C_alt(i);
       Index = Index+1;
    end
end
       
