40 lines
710 B
Matlab
Executable File
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
|