Statistics.hpp

2
statistics.hpp #ifndef STATISTICS_HPP_INCLUDED #define STATISTICS_HPP_INCLUDED #include <vector> #include <string> //Histogramm class Histogram { public: Histogram(std::vector<double> &v, double t_bin_size); ~Histogram(); double bin_size; double min; std::vector<double> data; }; //Statistic class Statistics { public: //Initialisieren void Init( int* t_grid_size, int* t_bin_size, int* t_num_iterations, int* t_num_customers, int* t_num_salesman); //Besuche speichern void LogField(int x, int y); //Verdienst, Preis und Verkaeufe loggen void LogSalesman(int salesm_id, double earnings, double p, int sales, int visits); void WriteVector(std::vector<double> &v, std::string filename); void Write2dVector(std::vector<std::vector<double> > &v, std::string filename); void WriteLogSalesman(std::string name = ""); //Histogramm in Datei ausgeben void WriteHistogram(std::vector<double> &v, double bin_size, std::string filename); //Besuchszahlen für jedes Feld void WriteFields(std::string filename); //Besuchszahlen gegen den Abstand zu (x,y) void WriteFieldsDistance(std::string filename, int x, int y); Seite 1

Transcript of Statistics.hpp

Page 1: Statistics.hpp

statistics.hpp

#ifndef STATISTICS_HPP_INCLUDED

#define STATISTICS_HPP_INCLUDED

#include <vector>

#include <string>

//Histogramm

class Histogram

{ public: Histogram(std::vector<double> &v, double t_bin_size); ~Histogram();

double bin_size; double min;

std::vector<double> data;

};

//Statistic

class Statistics

{ public: //Initialisieren void Init( int* t_grid_size, int* t_bin_size, int* t_num_iterations, int* t_num_customers, int* t_num_salesman);

//Besuche speichern void LogField(int x, int y);

//Verdienst, Preis und Verkaeufe loggen void LogSalesman(int salesm_id, double earnings, double p, int

sales, int visits);

void WriteVector(std::vector<double> &v, std::string filename); void Write2dVector(std::vector<std::vector<double> > &v,

std::string filename); void WriteLogSalesman(std::string name = "");

//Histogramm in Datei ausgeben void WriteHistogram(std::vector<double> &v, double bin_size,

std::string filename);

//Besuchszahlen für jedes Feld void WriteFields(std::string filename); //Besuchszahlen gegen den Abstand zu (x,y) void WriteFieldsDistance(std::string filename, int x, int y);

Seite 1

Page 2: Statistics.hpp

statistics.hpp //Daten durch Faktor Teilen void DivideData(std::vector<double> &v, double divisor);

//Daten Glaetten void Smoothing(std::vector<double> &v); void MSmoothing(std::vector<double> &v, int n); //n mal

Smoothing

//Mittelwert und Varianz bestimmen double Midpoint(std::vector<double> &v); double Variance(std::vector<double> &v);

std::vector<double> log_field; //Feld loggen

std::vector<std::vector<double> > log_p, log_earn, log_sales,

log_visits; //Preis, Gewinn, Verkaeufe loggen std::vector<double> last_earn, last_sales, last_visits;

std::string path, prefix; private: //Simu-Parameter speichern int* grid_size; int* bin_size; int* num_iterations; int* num_customers; int* num_salesman;

};

#endif // STATISTICS_HPP_INCLUDED

Seite 2