Dynamic-Calibration/utils/YALMIP-master/extras/@lmi/groupchanceconstraints.m

40 lines
710 B
Matlab
Executable File

function S = groupchanceconstraints(F)
G = {};
S = {};
F = flatten(F);
for i = 1:length(F.clauses)
if ~isempty(F.clauses{i}.confidencelevel)
G = addgroup(G,F.clauses{i}.jointprobabilistic);
end
end
for i = 1:length(G)
S{i} = [];
end
for i = 1:length(F.clauses)
for j = 1:length(G)
if isequal(F.clauses{i}.jointprobabilistic,G{j});
S{j} = [S{j} i];
end
end
end
for i = 1:length(S)
s.type = '()';
s.subs{1} = S{i};
S{i} = subsref(F,s);
end
function G = addgroup(G,g)
if length(G)==0
G = {g};
else
i = 1;
while i<=length(G)
if isequal(G{i},g)
return
end
i = i+1;
end
G{end+1} = g;
end