vb@rchiv
VB Classic
VB.NET
ADO.NET
VBA
C#
TOP-Angebot: 17 bzw. 24 Entwickler-Vollversionen zum unschlagbaren Preis!  
 vb@rchiv Quick-Search: Suche startenErweiterte Suche starten   Impressum  | Datenschutz  | vb@rchiv CD Vol.6  | Shop Copyright ©2000-2024
 
zurück

 Sie sind aktuell nicht angemeldet.Funktionen: Einloggen  |  Neu registrieren  |  Suchen

Visual-Basic Einsteiger
Auswerten von Temperaturen ? 
Autor: anfaenger_michael
Datum: 24.01.19 08:05

Moin moin,

ich habe eine Datei die Zeiten und Temperaturen enthält.
Aufbau jeweils Datum und Temperatur:
21.01.2019 20:17:24 20.8
21.01.2019 21:17:00 21.2
22.01.2019 10:12:10 21.0
22.01.2019 12:10:23 21.5
usw. usw... ca. 2000 Zeilen


Nun meine Frage:
Ich möchte aus diesen Daten eine Auswertung erstelle.
Diese soll beinhalten:
-Die Temperaturschwankung über den ganzen Zeitraum in 1/2 Stunde.
-Die Temperaturschwankung über den ganzen Zeitraum in 1 Stunde.
-Die Temperaturschwankung über den ganzen Zeitraum in 4 Stunden.
-Die Temperaturschwankung über den ganzen Zeitraum in 7 Tagen.

Leider habe ich nicht einmal einen Ansatz wie ich das angehen soll.
Hat hier jemand einen Tipp, oder gar eine Lösung ?


Danke.


Gruß
Michael
Themenbaum einblendenGesamtübersicht  |  Zum Thema  |  Suchen

Re: Auswerten von Temperaturen ? 
Autor: Manfred X
Datum: 24.01.19 17:57

Hallo!

Welche VB-Version?

Definiere den Begriff "Temperaturschwankung"!
(Wie darstellen: Diagramm, Extremwerte, Perzentile,
Streuungsmaß, Glättverfahren z.B. Gleitdurchschnitt ...)

Zwischen den Messungen liegen anscheinend keine
gleichen Abstände. Innerhalb der Intervalle liegen
deshalb vermutlich unterschiedliche Anzahlen von
Messungen. Soll das einbezogen werden? Wie?

Eventuell ist auch die Meßgenauigkeit relevant und zu beachten!
Themenbaum einblendenGesamtübersicht  |  Zum Thema  |  Suchen

Re: Auswerten von Temperaturen ? 
Autor: anfaenger_michael
Datum: 25.01.19 13:47

Hallo Manfred,


Danke für die Antwort.


Frage 1
VB6

Frage 2
Ich meine die Schwankung der Temperatur in den einzelnen Zeiten.
Die Extremwerte als Zahl wären ausreichend. Diagramm wird nicht benötigt.

Frage 3
Das die Intervalle nicht die gleiche Zeitfolge aufweisen, war mein Fehler.
Normal folgen die Messungen in einem Intervall von 30 Minuten.

Die Meßgenauigkeit ist hierbei nicht Relevant.

Noch eine Frage am Rande.
Kommst Du aus der Statistik ?



Gruß
Michael
Themenbaum einblendenGesamtübersicht  |  Zum Thema  |  Suchen

Re: Auswerten von Temperaturen ? 
Autor: Manfred X
Datum: 25.01.19 15:19

Hallo!

Dann stellt sich eine weitere Frage.

Wie bestimmst Du den Startzeitpunkt für die
Festlegung der äquidistanten Zeitintervalle?

- beginnend beim Zeitpunkt der ersten Messung

- abhängig von der jeweiligen Äquidistanz
(30min-Wechsel, Stundenwechsel, Tageswechsel, Wochenwechsel usw.)
--> am ersten geeigneten Wechsel-Zeitpunkt vor der ersten Messung
--> am ersten geeigneten Wechsel-Zeitpunkt nach der ersten Messung

- Festlegung eines Start-Zeitpunktes, der für alle
Äquidistanzen gleich ist.
Themenbaum einblendenGesamtübersicht  |  Zum Thema  |  Suchen

Re: Auswerten von Temperaturen ? 
Autor: anfaenger_michael
Datum: 25.01.19 15:44

Hallo Manfred,

der Startzeitpunkt sollte der erste Eintrag in der Datei sein.




Gruß
Michael
Themenbaum einblendenGesamtübersicht  |  Zum Thema  |  Suchen

Re: Auswerten von Temperaturen ? 
Autor: Manfred X
Datum: 25.01.19 18:33

Tja, VB6
Den alten Schrott habe ich seit mehr als 10 Jahren
nicht mehr angefaßt.
Es gab hier noch eine alte Möhe, auf der das installiert war.
Erwarte keine Top-Lösung!!
Als Parameter erwartet die Routine das Datenfile und die
Angabe des Intervalls für die Klassenbildung in Minuten.
Danach eine Ausgabedatei (wird überschrieben!)
Es wird angenommen, die erste Zeile der Eingabedatei enthalte
das früheste Datum (= Startdatum der Klassenbildung).

Angenommener Dateiaufbau (Zeile):
8.1.2019 15:0:0 09,28

Private Sub GetTempSpan(ByVal file As String, ByVal Interval As Integer, _
                        ByVal outfile As String)
 
Open file For Input As #1
 
Dim line As String
Dim parts() As String, dt As Date, temp As Double
Dim found As Boolean, limit As Date, start As Date
Dim i%, k%, kmax%
 
Line Input #1, line
parts = Split(line)
start = CDate(parts(0) & " " & parts(1)) 'Startdatum
 
'Ermittlung der benötigten Klassenzahl
While Not EOF(1)
   Line Input #1, line
   parts() = Split(line, " ")
 
   dt = CDate(parts(0) & " " & parts(1))
   found = False: limit = start: k = 0
   While Not found
      k = k + 1
      limit = DateAdd("n", k * Interval, start)
      found = dt <= limit
   Wend
   If k > kmax Then kmax = k
Wend
Close #1
 
'Bestimmung der Extremwerte pro Intervall (min, max)
 
Dim min() As Double, max() As Double, classlimit() As Date
ReDim min(kmax) As Double
ReDim max(kmax) As Double
ReDim classlimit(kmax) As Date
 
For k = 1 To kmax
   min(k) = 1000: max(k) = -1000 'Vorbelegung der Extremwertarrays
Next k
 
Open file For Input As #1
 
While Not EOF(1)
   Line Input #1, line
   parts() = Split(line, " ")
 
   dt = CDate(parts(0) & " " & parts(1))
   temp = CDbl(parts(2))
   found = False: limit = start: k = 0
   While Not found
      k = k + 1
      limit = DateAdd("n", k * Interval, start)
      classlimit(k) = limit
      found = dt <= limit
   Wend
   If min(k) > temp Then min(k) = temp
   If max(k) < temp Then max(k) = temp
Wend
Close #1
 
'Ausgabe Intervall-Obergrenze und Extremwerte
Open outfile For Output As #1
For k = 1 To kmax
   Print #1, Format(classlimit(k), "General Date"); "  "; min(k); " --- "; max( _
     k)
Next k
Close #1 
 
End Sub
Themenbaum einblendenGesamtübersicht  |  Zum Thema  |  Suchen

Re: Auswerten von Temperaturen ? 
Autor: anfaenger_michael
Datum: 28.01.19 12:48

Hallo Manfred,

Funktioniert.
Chapeau Manfred.

Danke.


Gruß
Michael
Themenbaum einblendenGesamtübersicht  |  Zum Thema  |  Suchen

Sie sind nicht angemeldet!
Um auf diesen Beitrag zu antworten oder neue Beiträge schreiben zu können, müssen Sie sich zunächst anmelden.

Einloggen  |  Neu registrieren

Funktionen:  Zum Thema  |  GesamtübersichtSuchen 

nach obenzurück
 
   

Copyright ©2000-2024 vb@rchiv Dieter Otter
Alle Rechte vorbehalten.
Microsoft, Windows und Visual Basic sind entweder eingetragene Marken oder Marken der Microsoft Corporation in den USA und/oder anderen Ländern. Weitere auf dieser Homepage aufgeführten Produkt- und Firmennamen können geschützte Marken ihrer jeweiligen Inhaber sein.

Diese Seiten wurden optimiert für eine Bildschirmauflösung von mind. 1280x1024 Pixel