%                   Universidade de Aveiro
%                               -
%       Departamento de Electrónica e Telecomunicações
%
% Projecto 5ºAno - Desenvolviento de Algoritmos de Controle para um Robô
% Humanoide
%
% Pedro Miguel Ferreira     
% Nº Mec - 27593
%
% Data - 07-03-2007
%
%%ERROR_PLOT    Faz o plot do erro e da simulação 
%   error_plot(x_des, x_real, handle)
%       x_des é o valor desejado
%       x_real é o valor real
%       handle da figura

function error_plot(x_des, x_real, handle)


figure(handle);

time_division = 20/1000;
time = 0:time_division:(length(x_des)-1)*time_division;

subplot(2,1,1)
    plot(time, x_des(1,:), 'r', time, x_real(1,:), 'g');    % faz o plot da posição desejada e da posição real

    title('Posição da junta');
    legend('Posição desejada', 'Posição real');
    xlabel('tempo');
    ylabel('Posição angular');
    axis auto;
    grid on
    hold off

subplot(2,1,2)
    erro = abs(x_des(1,:)-x_real(1,:));    % erro em graus./abs(rad2deg(x_des(1,:)))
    plot(time, erro(1,:), 'k');                           % faz o plot do erro

    legend(['erro =' num2str(erro(end))]);
    title('Erro da junta');
    xlabel('tempo');
    ylabel('graus angulares');
    axis auto;
    grid on

drawnow;
