Blame doc/examples/histogram.c
|
Packit |
67cb25 |
#include <stdio.h>
|
|
Packit |
67cb25 |
#include <stdlib.h>
|
|
Packit |
67cb25 |
#include <gsl/gsl_histogram.h>
|
|
Packit |
67cb25 |
|
|
Packit |
67cb25 |
int
|
|
Packit |
67cb25 |
main (int argc, char **argv)
|
|
Packit |
67cb25 |
{
|
|
Packit |
67cb25 |
double a, b;
|
|
Packit |
67cb25 |
size_t n;
|
|
Packit |
67cb25 |
|
|
Packit |
67cb25 |
if (argc != 4)
|
|
Packit |
67cb25 |
{
|
|
Packit |
67cb25 |
printf ("Usage: gsl-histogram xmin xmax n\n"
|
|
Packit |
67cb25 |
"Computes a histogram of the data "
|
|
Packit |
67cb25 |
"on stdin using n bins from xmin "
|
|
Packit |
67cb25 |
"to xmax\n");
|
|
Packit |
67cb25 |
exit (0);
|
|
Packit |
67cb25 |
}
|
|
Packit |
67cb25 |
|
|
Packit |
67cb25 |
a = atof (argv[1]);
|
|
Packit |
67cb25 |
b = atof (argv[2]);
|
|
Packit |
67cb25 |
n = atoi (argv[3]);
|
|
Packit |
67cb25 |
|
|
Packit |
67cb25 |
{
|
|
Packit |
67cb25 |
double x;
|
|
Packit |
67cb25 |
gsl_histogram * h = gsl_histogram_alloc (n);
|
|
Packit |
67cb25 |
gsl_histogram_set_ranges_uniform (h, a, b);
|
|
Packit |
67cb25 |
|
|
Packit |
67cb25 |
while (fscanf (stdin, "%lg", &x) == 1)
|
|
Packit |
67cb25 |
{
|
|
Packit |
67cb25 |
gsl_histogram_increment (h, x);
|
|
Packit |
67cb25 |
}
|
|
Packit |
67cb25 |
gsl_histogram_fprintf (stdout, h, "%g", "%g");
|
|
Packit |
67cb25 |
gsl_histogram_free (h);
|
|
Packit |
67cb25 |
}
|
|
Packit |
67cb25 |
exit (0);
|
|
Packit |
67cb25 |
}
|