mirror of
git://projects.qi-hardware.com/wernermisc.git
synced 2025-04-21 12:27:27 +03:00
m1rc3/norruption/2/plot: analyze console log and plot probability distribution
This commit is contained in:
45
m1rc3/norruption/2/plot
Executable file
45
m1rc3/norruption/2/plot
Executable file
@@ -0,0 +1,45 @@
|
|||||||
|
#!/usr/bin/perl
|
||||||
|
$n = 1;
|
||||||
|
while (<>) {
|
||||||
|
next unless /^=== (\d+) ===/;
|
||||||
|
while ($1 != $n) {
|
||||||
|
push(@f, $n);
|
||||||
|
$n++;
|
||||||
|
}
|
||||||
|
$n++;
|
||||||
|
}
|
||||||
|
|
||||||
|
$n--;
|
||||||
|
$f = int($n/@f+0.5);
|
||||||
|
|
||||||
|
$last = 0;
|
||||||
|
for (@f) {
|
||||||
|
push(@d, $_-$last);
|
||||||
|
$last = $_;
|
||||||
|
}
|
||||||
|
|
||||||
|
$cmd = "|gnuplot -e '".
|
||||||
|
'set term postscript color eps enhanced solid lw 2 20;'.
|
||||||
|
'set output "out.eps";'.
|
||||||
|
'set title "Probability distribution of time between NOR corruptions";'.
|
||||||
|
'set xlabel "Power cycles";'.
|
||||||
|
'set ylabel "Cumulative probability";'.
|
||||||
|
'set key bottom;'.
|
||||||
|
'plot "-" with lines title "Corruptions observed (N='.@f.')", '.
|
||||||
|
'1-exp(-'.1/$f.'*x) with lines lt 3 '.
|
||||||
|
'title "Exponential distribution ({/Symbol l}=1/'.$f.')"'.
|
||||||
|
"'";
|
||||||
|
|
||||||
|
open(PIPE, $cmd) || die "open: $!";
|
||||||
|
$i = 0;
|
||||||
|
for (sort { $a <=> $b } @d) {
|
||||||
|
$i++;
|
||||||
|
print PIPE $_, " ", $i/@f, "\n";
|
||||||
|
}
|
||||||
|
close(PIPE) || die "close: $!";
|
||||||
|
|
||||||
|
system("cat out.eps | ".
|
||||||
|
"gs -sDEVICE=ppmraw -r100 -sOutputFile=- ".
|
||||||
|
"-dTextAlphaBits=4 -dGraphicsAlphaBits=4 -sPAPERSIZE=a4 -q - | ".
|
||||||
|
"convert -trim - out.png");
|
||||||
|
unlink("out.eps");
|
||||||
Reference in New Issue
Block a user