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)); }
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(); }