[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]
- Média, Variancia e Desvio padrão,
Jair Santanna <=