Buscar

Código - TemperaturaBH - UNA

Esta é uma pré-visualização de arquivo. Entre para ver o arquivo original

function TemperaturaBH(Dias)
 
 N = Dias;
 
 %Verifica entrada N, para Agosto de 2013
 if (N < 1) || (N > 31)
 disp('Entre com um número de dias entre 1 e 31 (Agosto).');
 exit;
 end
 
 %Cria Matriz de Dia, Hora e Temperatura
 TmpBH = zeros((N*24)-1,3);
 %Cria Matriz de Média de Temperatura Diária
 Media = 0;
 MediaTmpBH = zeros(N,2);
 D = 1;
 
 for t = 1:N*24
 %Cálculo da Matriz Temperatura
 Dia = floor(t / 24 + 1);
 Temp = 19.06 + 0.211 * cos(0.08721 * t) + (-5.51 * sin(0.0871 * t));
 TmpBH(t,1) = Dia;
 TmpBH(t,2) = mod(t,24);
 TmpBH(t,3) = Temp;
 
 %Cálculo da média de Tmp
 if (Dia ~= D)
 MediaTmpBH(D,1) = D;
 MediaTmpBH(D,2) = Media / 24;
 D = Dia;
 
 Media = Temp;
 else
 Media = Media + Temp;
 end;
 end;
 
 %Exibe tabela de temperatura por hora do dia
 disp('----DIA | HORA | TEMPERATURA');
 disp(TmpBH);
 
 %Exibe média das temperaturas Por Dia
 disp('----DIA | MÉDIA DE TEMPERATURA');
 disp(MediaTmpBH);
 
 %Dias que a temperatura ficou abaixo de 18
 NDiasTmp = 0;
 for t = 1:N
 if (MediaTmpBH(t,2) < 18)
 NDiasTmp = NDiasTmp + 1;
 end;
 end;
 disp('----Dias com temperatura média abaixo de 18 graus: ');
 disp(NDiasTmp);
 
 %Dias que a temperatura ficou acima de 20
 NDiasTmp = 0;
 for t = 1:N
 if (MediaTmpBH(t,2) > 20)
 NDiasTmp = NDiasTmp + 1;
 end;
 end;
 disp('----Dias com temperatura média acima de 20 graus: ');
 disp(NDiasTmp);
 
 %A temperatura média mais alta
 TMediaAlta = 0;
 TDiaAlta = 0;
 for t = 1:N
 if (MediaTmpBH(t,2) > TMediaAlta)
 TMediaAlta = MediaTmpBH(t,2);
 TDiaAlta = MediaTmpBH(t,1);
 end;
 end;
 disp('----Temperatura média mais alta e dia do registro: ');
 disp(TMediaAlta);
 disp(TDiaAlta);
 
 %A temperatura média mais baixa
 TMediaBaixa = 999;
 TDiaBaixa = 0;
 for t = 1:N
 if (MediaTmpBH(t,2) < TMediaBaixa)
 TMediaBaixa = MediaTmpBH(t,2);
 TDiaBaixa = MediaTmpBH(t,1);
 end;
 end;
 disp('----Temperatura média mais baixa e dia do registro: ');
 disp(TMediaBaixa);
 disp(TDiaBaixa);
end

Teste o Premium para desbloquear

Aproveite todos os benefícios por 3 dias sem pagar! 😉
Já tem cadastro?

Outros materiais