Fórum Calcular o desvio padrao de varias datas de um dataset #344463
13/08/2007
0
Olá pessoal, preciso de uma ajuda.
Preciso calcular o desvio padrão de várias datas que estão em um dataset e não estou conseguindo.
A media até já consegui, mas o desvio padrão está complicado.
Segue o calculo da media entre datas e espero que me ajudem com o desvio padrão:
Caso alguem tenha alguma ideia melhor quanto a media tb agradeço.
dmRELATORIOS.ClISTA1.Prior;
WHILE NOT dmRELATORIOS.CLISTA1.EOF DO
BEGIN
CALCULO_media:=CALCULO_media+DMRELATORIOS.clista1DATA.Asdatetime;
i:=i+1;
media:=calculo_media/i;
media:=media/360;
DMRELATORIOS.CLISTA1.NEXT;
end;
Obrigado
Preciso calcular o desvio padrão de várias datas que estão em um dataset e não estou conseguindo.
A media até já consegui, mas o desvio padrão está complicado.
Segue o calculo da media entre datas e espero que me ajudem com o desvio padrão:
Caso alguem tenha alguma ideia melhor quanto a media tb agradeço.
dmRELATORIOS.ClISTA1.Prior;
WHILE NOT dmRELATORIOS.CLISTA1.EOF DO
BEGIN
CALCULO_media:=CALCULO_media+DMRELATORIOS.clista1DATA.Asdatetime;
i:=i+1;
media:=calculo_media/i;
media:=media/360;
DMRELATORIOS.CLISTA1.NEXT;
end;
Obrigado
Frostlost
Curtir tópico
+ 0
Responder
Posts
13/08/2007
Emerson Nascimento
na unit Math do Delphi existe a função MeanAndStdDev() que deve retornar o que você precisa.
a sintaxe é:
MeanAndStdDev(array de Double, var Media, DesvioPadrao);
aplicando ao seu código...
veja se atente à sua necessidade
a sintaxe é:
MeanAndStdDev(array de Double, var Media, DesvioPadrao);
aplicando ao seu código...
var
Media, DesvioPadrao: extended;
Datas: array of double;
begin
{posiciona o ponteiro da tabela no primeiro registro}
dmRelatorios.CLista1.First;
{preenche o array com as datas da tabela}
while not dmRelatorios.CLista1.Eof do
begin
SetLength(Datas, Length(Datas)+1);
Datas[High(Datas)] := dmRelatorios.CLista1DATA.AsDateTime;
dmRelatorios.CLista1.Next;
end;
{calcula a média e o desvio padrão}
MeanAndStdDev(Datas, Media, DesvioPadrao);
{exibe o resultado}
ShowMessage(´Media: ´+FormatFloat(´0.000´,Media)+
13´Desvio padrão: ´+FormatFloat(´0.000´,DesvioPadrao));
end;
Responder
Gostei + 0
13/08/2007
Frostlost
Muito obrigado, funcionou redondo.
Grande abraço e conte comigo para o que precisar.
Claudio
Grande abraço e conte comigo para o que precisar.
Claudio
na unit Math do Delphi existe a função MeanAndStdDev() que deve retornar o que você precisa.
a sintaxe é:
MeanAndStdDev(array de Double, var Media, DesvioPadrao);
aplicando ao seu código...
veja se atente à sua necessidade
var
Media, DesvioPadrao: extended;
Datas: array of double;
begin
{posiciona o ponteiro da tabela no primeiro registro}
dmRelatorios.CLista1.First;
{preenche o array com as datas da tabela}
while not dmRelatorios.CLista1.Eof do
begin
SetLength(Datas, Length(Datas)+1);
Datas[High(Datas)] := dmRelatorios.CLista1DATA.AsDateTime;
dmRelatorios.CLista1.Next;
end;
{calcula a média e o desvio padrão}
MeanAndStdDev(Datas, Media, DesvioPadrao);
{exibe o resultado}
ShowMessage(´Media: ´+FormatFloat(´#0.000´,Media)+
13´Desvio padrão: ´+FormatFloat(´0.000´,DesvioPadrao));
end;
Responder
Gostei + 0
Clique aqui para fazer login e interagir na Comunidade :)