Solucionado (ver solução)
Solucionado
(ver solução)
1
resposta

Calcular Media de Temperatura das Ultimas N horas.

Eu tenho uma lista contendo a leitura de uma certa estacao de meteorologia, por hora.

A classe da lista seria algo assim:

public class WeatherValue
{
    public long Id { get; set; }    
    public DateTime StartDateTime{ get; set; }
    public double Value { get; set; }
}

Eu preciso calcular a media das 3 e 24 horas anteriores a uma determinada hora e popular uma outra lista.

A classe de destino seria algo mais ou menos assim:

public class WeatherAverage
{
    public long Id { get; set; }
    public DateTime StartDateTime { get; set; }        
    public double Value { get; set; }
    public double AvgValueMa3 { get; set; }
    public double AvgValueMa24 { get; set; }
}

Qual seria a melhor maneira de calcular essa media usando o C#?

1 resposta
solução!

Boa noite, Silvio! Como vai?

Bom, se vc tem uma lista de WeatherValue que é atualizada a cada hora, então me parece que pra calcular as médias que vc deseja basta pegar os 3 últimos itens ( medições das últimas 3 horas ), iterar por eles somando seus valores e depois dividindo por 3 e depois, prosseguir até o 24º item, dividindo o somatório por 24. Não tem mistério, é uma iteração simples mesmo, utilizando um laço de repetição!

Pegou a ideia? Qualquer coisa é só falar!

Grande abraço e bons estudos, meu aluno!