shell-script-pt
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Média, Variancia e Desvio padrão


From: Jair Santanna
Subject: Média, Variancia e Desvio padrão
Date: Fri, 20 Nov 2009 17:56:28 -0200

Caros, estou fazendo um script para calcular a média, a variancia e o  
desvio padrão de um arquivo com um conjunto de valores
ex:
1
1
1
2
2
2

O meu código segue abaixo mas estou com os seguintes problemas:
1) No Calculo do Parentese a média normalmente tem casas decimais no  
entanto esta soma desconsidera a parte decimal. O que eu devo fazer?  
tentei algo utilizando o bc mas nada. Eu preciso subtrair o valor da  
linha do arquivo do valor da Média e obter o valor em módulo para  
TODOS os elementos do arquivo
2) No Calculo que ele coloca no arquivo "Quadrado" ele só efetua para  
o último item do Parêntese enquanto que eu gostaria de fazer para  
todos os elementos do Parentese. O que eu estou errando?

Grato

JJ.Santanna

> #!/bin/bash
>
> n=6
> #echo $n
>
> Soma=`cat arquivo |awk '{a+=$0}END{print a}'`
> #echo $Soma
>
> Media=$(echo "scale=2; $Soma/$n" | bc )
> #echo $Media
> echo "A Média Aritimética é igual a: $Media"
>
> #CALCULANDO O PARENTESE ******
> Parentese=`awk '{print $1-$Media}' arquivo `
> #echo $Parentese
>
> #CALCULANDO O QUADRADO
> echo "$Parentese ^ 2" | bc > Quadrado
> #cat Quadrado
>
> Somatorio=`cat Quadrado |awk '{a+=$0}END{print a}'`
> #echo $Somatorio
> rm Quadrado
>
> Razao=$(echo "scale=4; $Somatorio/($n-1)" | bc )
> #echo $Razao
> echo "A Variância é igual a:$Razao"
>
> Raiz=$(echo "scale=4; sqrt($Razao)" | bc)
> #echo $Raiz
> echo "O Desvio padrão é igual a:$Raiz"


[As partes desta mensagem que não continham texto foram removidas]



reply via email to

[Prev in Thread] Current Thread [Next in Thread]