#!/usr/local/bin/perl

use warnings;

open IN, "<".$ARGV[0] or die "Cannot open $ARGV[0]: $!";
while (<IN>){
	next if /^#/;
	chomp;
	s/ //;
	$count++;
	$y[$count]=$_;
#    print "$y[$count]\n";
	$sumxy+=$count*$y[$count];
	$sumx+= $count;
	$sumy+= $y[$count]; 
	$sumx2 += $count**2;
}
close IN;

$beta=($count*$sumxy-$sumx*$sumy)/($count*$sumx2-$sumx**2);
$alfa=$sumy/$count-$beta*$sumx/$count;

print "-" x 70,"\n";
print "y = $alfa + $beta x\n";
print "-" x 70,"\n";

$media = $sumy/$count;
print "\tD\tF\tAD\tSE\n";
for $i (1 .. $count){
	$f = $alfa+$beta*$i;
    $dd=$y[$i];
	$ad=abs($dd-$f);
	$se=($dd-$f)**2;
        printf "%i)\t%.02f\t%.2f\t%.2f\t%.2f\n",$i,$dd,$f,$ad,$se;
    $ra += ($f-$media)**2;
    $rb += ($dd-$media)**2;
    $mad+=$ad;
	$mse+=$se;
}
$r2 = $ra/$rb;
$mad /= $count;
$mse /= $count;
print "R2=$r2\tMAD=$mad\tMSE=$mse\n";
for $i ($count+1..$count+10){
	print "$i)\t\t", $alfa+$beta*$i, "\n";
}


__END__	
