% Questa funzione riceve in ingresso le distanze punto/retta ottenute dalle
% funzioni precedentemente utilizzate e le elabora per confronti e
% valutazione prestazioni degli algoritmi implementati
% In questo caso viene calcolato l'errore relativo, cioè la differenza tra
% le distanze punti rossi/iperpiano e punti blu/iperpiano, per verificare
% se effettivamente l'iperpiano ottimale scelto giace alla stessa distanza
% da entrambi i gruppi di punti scelti

function [error] = optimality(dist)

% calcolo errore relativo
error = abs(dist(:,1) - dist(:,2));
x = 1:length(dist);

figure()
hold on
plot(x,dist(:,1),'r')
plot(x,dist(:,2),'b')
plot(x,error,'k')
grid on
title('Distanze pti rossi / pti blu e relativo errore')
legend('Dist.pti rossi/retta','Dist.pti blu/retta','Errore relativo',2)
axis([1 length(dist) 0 200])

end