% Inferenza con maxMin e Goedel
% per cambiare gli ingressi edita linea 30
% per cambiare le regole edita linee 26, 27
% attenzione alle maiuscole/minuscole
% Gu 3/03

xb = (0:0.2:10)';
len=max(size(xb));

%antecedenti
a1=trap_mf(xb, [-0.1, 0, 2, 4]);
a2=trap_mf(xb, [2, 4, 5, 7]);
a3=trap_mf(xb, [5, 7, 10.2, 10.3]);

%conseguenti
% c1=trap_mf(xb, [-0.1, 0, 4, 7]);
% c2=trap_mf(xb, [4, 7, 10.2, 10.3]);
s=3;
c1=exts_mf(xb, [2, 8, s]) ;
c2=exts_mf(xb, [9, 3, s]) ;

% figure
% subplot(211),plot([a1,a2,a3])
% subplot(212),plot([c1, c2])

%costruzione di due regole
R1=GUrule2(len,a1,a1,c1);
R2=GUrule2(len,a2,a2,c2);
size(R1)

%inferenze separate, Ax: fatti;   Cx: conclusioni
A1=a1; A2=a1;
C1=GUinf2(len,A1,A2,R1);
C2=GUinf2(len,A1,A2,R2);
C=min([C1;C2]); 
subplot(311), plot(C1)
subplot(312), plot(C2)
subplot(313), plot(C)

%costruzione unica regola, il risultato è uguale
Rt=min(R1,R2);
Ct=GUinf2(len,A1,A2,Rt);
figure
plot(Ct), axis([0,len,0,1.1])


