Perl is gaaf!
Ik neem aan dat je weet wat standaardafwijking is en hoe dit te berekenen.
De truc is dit:
-Het bestand in array laden.
Code:
open(BESTAND, "./bestand.txt");
while($line = <BESTAND>); # leest 1 lijn in
@lijn = split(/ /, $line);
push(@bestand, @lijn);
-de een array maken met de lengtes van ieder element in de @bestand array.
while(@bestand) {
$var = length(pop(@bestand));
push(@array, $var);
-Het gemiddelde van die array berekenen. Dat doe je met iets als dit:
Code:
$aantal = @array;
$i = 0;
while($array[i]) {
$totaal += $array[i];
$i++;
}
$gemiddelde = $totaal/$aantal;
-daarna maak je een array met de kwadraatwaardes van de afwijking van het gemiddelde, in deze trant:
Code:
$i = 0;
while ($array[i]) {
$var = ($gemiddelde - $array[i]) ** 2;
push (@baai, $var);
$i++;
}
-daarna bereken je het gemiddelde van de @baai array, zoals je dat met de @array hebt gedaan.
-daarna bereken je de wortel hier van. Dit doe je met de sqrt functie.
Code:
$stda = sqrt($nieuw_gemiddelde);
print "$stda\n";
het is een tijdje geleden dat ik perl heb gedaan, dus als er grove fouten in zitten spijt me dat
verbeter waar noodzakelijk.
EDIT: dit zou moeten werken.