Beispiel #1
0
    public static void Main(string [] args)
    {
        StatCalc stc = new StatCalc();
        double[] werte = stc.enter();

        Console.WriteLine("\nAusgabe: ");
        Console.WriteLine("Max: {0}", stc.max(werte));
        Console.WriteLine("Min: {0}", stc.min(werte));

        Console.WriteLine("Arithmetisches Mittel: {0}", stc.arithmetischesMittel(werte));
        Console.WriteLine("Standard Abweichung: {0}", stc.standardAbweichung(werte));
    }
Beispiel #2
0
        public chartDataHandler(MainWind window, int nBoards, EspServer esp_client, DBConnect dbC, CartesianChart scatterChart, CartesianChart fiveMinutesChart, Action errorAction)
        {
            _window               = window;
            _nBoards              = nBoards;
            _esp_server           = esp_client;
            _statCalc             = new StatCalc(dbC);
            _errorAction          = errorAction;
            _cts                  = new CancellationTokenSource();
            _ct                   = _cts.Token;
            this.scatterChart     = scatterChart;
            this.fiveMinutesChart = fiveMinutesChart;
            boardsPos             = new ChartValues <Scheda>();
            hiddenPhonePos        = new ChartValues <DatiDispositivo>();
            phonePos              = new ChartValues <DatiDispositivo>();
            selectedPhonePos      = new ChartValues <DatiDispositivo>();
            scatterChart.Series.Add(new ScatterSeries(boardsPos)
            {
                Title = "Schede",
                MinPointShapeDiameter = 15,
                PointGeometry         = DefaultGeometries.Triangle,
                StrokeThickness       = 4,
                Fill   = System.Windows.Media.Brushes.Transparent,
                Stroke = Utils.green
            });
            scatterChart.Series.Add(new ScatterSeries(phonePos)
            {
                Title = "Dispositivi Visibili",
                MinPointShapeDiameter = 15,
                PointGeometry         = DefaultGeometries.Diamond,
                StrokeThickness       = 4,
                Fill   = System.Windows.Media.Brushes.Transparent,
                Stroke = Utils.orange,
            });
            scatterChart.Series.Add(new ScatterSeries(hiddenPhonePos)
            {
                Title = "Dispositivi Nascosti",
                MinPointShapeDiameter = 15,
                PointGeometry         = DefaultGeometries.Diamond,
                StrokeThickness       = 4,
                Fill   = System.Windows.Media.Brushes.Transparent,
                Stroke = Utils.purple
            });

            scatterChart.Series.Add(new ScatterSeries(selectedPhonePos)
            {
                Title = "MAC selezionato",
                MinPointShapeDiameter = 20,
                PointGeometry         = DefaultGeometries.Cross,
                StrokeThickness       = 4,
                Fill   = System.Windows.Media.Brushes.Transparent,
                Stroke = Utils.red
            });

            scatterChart.AxisX.Add(new Axis
            {
                MinValue       = -2,
                MaxValue       = 2,
                LabelFormatter = x => Math.Round(x, 2).ToString(),
                Title          = "posizione [m]"
            });

            scatterChart.AxisY.Add(new Axis
            {
                MinValue       = -2,
                MaxValue       = 2,
                LabelFormatter = x => Math.Round(x, 2).ToString(),
                Title          = "posizione [m]"
            });

            InitializeFiveMinuteChart();

            Axis xAxis = new Axis();
            Axis yAxis = new Axis();

            xAxis.Separator.Step = 1;
            xAxis.FontSize       = 15;
            xAxis.Title          = "Tempo [minuti]";

            yAxis.FontSize       = 15;
            yAxis.Title          = "Numero dispositivi";
            yAxis.Separator.Step = 1;
            xAxis.MinValue       = 0;
            xAxis.MaxValue       = 5;
            yAxis.MinValue       = 0;
            yAxis.MaxValue       = 10;

            fiveMinutesChart.AxisX.Add(xAxis);
            fiveMinutesChart.AxisY.Add(yAxis);

            scatterChart.Series[0].Configuration = Mappers.Xy <Scheda>().X(b => b.Punto.Ascissa).Y(b => b.Punto.Ordinata);
            scatterChart.Series[0].Values        = boardsPos;
            scatterChart.Series[1].Configuration = Mappers.Xy <DatiDispositivo>().X(b => b.Posizione.Ascissa).Y(b => b.Posizione.Ordinata);
            scatterChart.Series[1].Values        = phonePos;
            scatterChart.Series[2].Configuration = Mappers.Xy <DatiDispositivo>().X(b => b.Posizione.Ascissa).Y(b => b.Posizione.Ordinata);
            scatterChart.Series[2].Values        = hiddenPhonePos;
            scatterChart.Series[3].Configuration = Mappers.Xy <DatiDispositivo>().X(b => b.Posizione.Ascissa).Y(b => b.Posizione.Ordinata);
            scatterChart.Series[3].Values        = selectedPhonePos;

            scatterChart.Series[0].LabelPoint = point => string.Format("ID scheda: {0}\n X:{1} Y:{2}",
                                                                       ((Scheda)point.Instance).ID_scheda,
                                                                       Math.Round(((Scheda)point.Instance).Punto.Ascissa, 2),
                                                                       Math.Round(((Scheda)point.Instance).Punto.Ordinata, 2));
            scatterChart.Series[1].LabelPoint = point => string.Format(" MAC: {0}\n Timestamp:{1} \n X:{2}  Y:{3}",
                                                                       Utils.Formatta_MAC_Address(((DatiDispositivo)point.Instance).MAC_Address),
                                                                       Utils.UnixTimestampToDateTime(((DatiDispositivo)point.Instance).Timestamp),
                                                                       Math.Round(((DatiDispositivo)point.Instance).Posizione.Ascissa, 2),
                                                                       Math.Round(((DatiDispositivo)point.Instance).Posizione.Ordinata, 2));
            scatterChart.Series[2].LabelPoint = point => string.Format(" MAC: {0}\n Timestamp:{1} \n X:{2}  Y:{3}",
                                                                       Utils.Formatta_MAC_Address(((DatiDispositivo)point.Instance).MAC_Address),
                                                                       Utils.UnixTimestampToDateTime(((DatiDispositivo)point.Instance).Timestamp),
                                                                       Math.Round(((DatiDispositivo)point.Instance).Posizione.Ascissa, 2),
                                                                       Math.Round(((DatiDispositivo)point.Instance).Posizione.Ordinata, 2));
            scatterChart.Series[3].LabelPoint = point => string.Format(" MAC: {0}\n Timestamp:{1} \n X:{2}  Y:{3}",
                                                                       Utils.Formatta_MAC_Address(((DatiDispositivo)point.Instance).MAC_Address),
                                                                       Utils.UnixTimestampToDateTime(((DatiDispositivo)point.Instance).Timestamp),
                                                                       Math.Round(((DatiDispositivo)point.Instance).Posizione.Ascissa, 2),
                                                                       Math.Round(((DatiDispositivo)point.Instance).Posizione.Ordinata, 2));


            t = new Thread(new ThreadStart(this.ReceiverFunc));
            t.Start();
        }