%% INFORME DEL PROCESADO TEMPORAL
%
%% Lectura de parámetros
%
load tiempo

cadena='Canal';

V=[];
for i=1:num_canales
    V=[V;strcat(cadena,num2str(i))];
end

%% Representación de las Señales Originales
%
figure;
if num_canales>0
    plot(X,Y(:,3:2+num_canales));
    xlabel('t (s)')
    ylabel('Magnitud (V)')
    title('Representación de las Señales Originales en el dominio temporal')
    legend(V)
end

%% Representación de la Temperatura Original
%
plot(X,Y(:,1));
xlabel('t (s)')
ylabel('Temperatura (ºC)')
title('Representación de la Temperatura Original en el dominio temporal')
legend('Temperatura')

%% Representación de la Humedad Original
%
plot(X,Y(:,2));
xlabel('t (s)')
ylabel('Humedad (%)')
title('Representación de la Humedad Original en el dominio temporal')
legend('Humedad')

%% Representación de las Señales Filtradas
%
figure;
if num_canales>0
    plot(X,Y(:,3:2+num_canales));
    plot(Xb(:,3:2+num_canales),Yb(:,3:2+num_canales));
    xlabel('t (s)')
    ylabel('Magnitud (V)')
    title('Representación de las Señales Filtradas en el dominio temporal')
    legend(V)
end

%% Representación de la Temperatura Filtrada
%
plot(Xb(:,1),Yb(:,1));
xlabel('t (s)')
ylabel('Temperatura (ºC)')
title('Representación de las Temperatura Filtrada en el dominio temporal')
legend('Temperatura')

%% Representación de la Humedad Filtrada
%
plot(Xb(:,2),Yb(:,2));
xlabel('t (s)')
ylabel('Humedad (%)')
title('Representación de la Humedad Filtrada en el dominio temporal')
legend('Humedad')

%% Representación de la Señal Original y Filtrada
%
if num_canales>0
    V=[];
    for i=1:(num_canales)
        V=[V;strcat(cadena,num2str(i),'Original')];
    end
    for i=1:num_canales
        V=[V;strcat(cadena,num2str(i),'Filtrada')];
    end
    figure;
    plot(X,Y(:,(3:2+num_canales)),Xb(:,(3:2+num_canales)),Yb(:,(3:2+num_canales)));
    xlabel('t(s)')
    ylabel('V')
    title('Señales Originales + Señales Filtradas')
    legend(V)
end



%% Representación de la Temperatura Original y Filtrada
%
figure;
plot(X,Y(:,1),Xb(:,1),Yb(:,1));
xlabel('t (s)')
ylabel('Temperatura (ºC)')
title('Representación de las Temperatura Original + Filtrada en el dominio temporal')
legend('Original','Filtrada')

%% Representación de la Humedad Original y Filtrada
%
figure;
plot(X,Y(:,2),Xb(:,2),Yb(:,2));
xlabel('t (s)')
ylabel('Humedad (%)')
title('Representación de la Humedad Original + Filtrada en el dominio temporal')
legend('Original','Filtrada')

%% Calculo de las principales estadísticas
%%
% 
% * *Máximo*
% 

%%
%   Código que genera los máximos y sus correspondientes valores

fprintf(strcat('Máximo de la Temperatura:',num2str(Max(1)),'\n'))
fprintf(strcat('Máximo de la Humedad:',num2str(Max(2)),'\n'))
for i=3:num_canales+2
    fprintf(strcat('Máximo del ',cadena,num2str(i-2),':',num2str(Max(i)),'\n'))
end

%%
% 
% * *Mínimo*
% 

%%
%      Código que genera los mínimos y sus correspondientes valores
fprintf(strcat('Mínimo de la Temperatura:',num2str(Min(1)),'\n'))
fprintf(strcat('Mínimo de la Humedad: ',num2str(Min(2)),'\n'))
for i=3:num_canales+2
    fprintf(strcat('Mínimo del ',cadena,num2str(i-2),':',num2str(Min(i)),'\n'))
end


%%
% 
% * *Media*
% 

%%
%      Código que genera la media y sus correspondientes valores
fprintf(strcat('Media de la Temperatura: ',num2str(Media(1)),'\n'))
fprintf(strcat('Media de la Humedad: ',num2str(Media(2)),'\n'))
for i=3:num_canales+2
    fprintf(strcat('Media del ',cadena,num2str(i-2),':',num2str(Media(i)),'\n'))
end


%%
% 
% * *Mediana*
% 

%%
%      Código que genera la mediana y sus correspondientes valores
fprintf(strcat('Mediana de la Temperatura: ',num2str(Mediana(1)),'\n'))
fprintf(strcat('Mediana de la Humedad: ',num2str(Mediana(2)),'\n'))
for i=3:num_canales+2
    fprintf(strcat('Mediana del ',cadena,num2str(i-2),':',num2str(Mediana(i)),'\n'))
end



%%
% 
% * *Desviación Estándar*
% 

%%
%      Código que genera la Desviación Estándar y sus correspondientes
%      valores
fprintf(strcat('Desviación de la Temperatura: ',num2str(Desv(1)),'\n'))
fprintf(strcat('Desviación de la Humedad: ',num2str(Desv(2)),'\n'))
for i=3:num_canales+2
    fprintf(strcat('Desviación del ',cadena,num2str(i-2),':',num2str(Desv(i)),'\n'))
end

%%
% 
% * *Máximos locales*
% 

%%
%      Código que genera los Máximos Locales y sus correspondientes valores
%      en tiempo (s) y en magnitud (V)

x1=[];
x=[];
y=[];
Xmax_loct=xmax_loc;
Ymax_loct=ymax_loc;
for i=1:num_canales+2
    x1=find(Xmax_loct(:,i));
    x=Xmax_loct(:,i);
    y=Ymax_loct(:,i);
    if i==1
        fprintf('Máximos locales de la Temperatura:\n')
    elseif i==2
        fprintf('Máximos locales de la Humedad:\n')
    else
        fprintf(strcat('Máximos locales del canal:',num2str(i-2),'\n'))
    end
    for j=1:length(x1)
        fprintf(strcat('\tValor (V):','%8.3f',...
            ' en el instante de tiempo (s):','%7.2f','\n'),y(x1(j)),x(x1(j)))
    end
    fprintf('\n')
end


%%
% 
% * *Mínimos Locales*
% 

%%
%      Código que genera los Mínimos Locales y sus correspondientes valores
%      en tiempo (s) y en manitud (V)

x1=[];
x=[];
y=[];
Xmin_loct=xmin_loc;
Ymin_loct=ymin_loc;
for i=1:num_canales+2
    x1=find(Xmin_loct(:,i));
    x=Xmin_loct(:,i);
    y=Ymin_loct(:,i);
    if i==1
        fprintf('Mínimos locales de la Temperatura:\n')
    elseif i==2
        fprintf('Mínimos locales de Humedad:\n')
    else
        fprintf(strcat('Mínimos locales del canal:',num2str(i),'\n'))
    end
    for j=1:length(x1)
        fprintf(strcat('\tValor (V):','%8.3f',...
            ' en el instante de tiempo (s):','%7.2f','\n'),y(x1(j)),x(x1(j)))
    end
    fprintf('\n')
end










