Re: Sonnenaufgangsberechnung -> Die Lösung Kategorie: Programmierung Basic (von Simon - 26.11.2015 21:12) | ||
Als Antwort auf Re: Sonnenaufgangsberechnung von UlliS - 11.11.2015 13:48 | ||
| ||
Also nach langer Fehlersuche hat sich heraus gestellt, dass die Berechnungen des CCPRO perfekt sind. Das einzige Problem war, das ich vergessen habe, dass Tag und Monat in der Clock funktion 0 basiert sind... Also wer den Sonnen Auf- und Untergang für 84453 Mühldorf am Inn berechnen möchte, kann das mit diesem Sub tun: Dim Woz_moz, Deklination, Zeitdiff, Sonnenaufgang, Sonnenuntergang As Single Dim Tageszahl As Integer Sub Sonnenaufgang_update() Tageszahl = Tag + 1 + ((Monat) * 30) Woz_moz = (-0.171 * sin(0.0337 * Tageszahl + 0.465)) - (0.1299 * sin(0.01787 * Tageszahl - 0.168)) Deklination = 0.4095 * sin((Tageszahl - 80.086) * 0.016906) 'Berechnung Deklination 'Berechnung Zeitdifferenz , 0.7459 für Mühldorf am Inn Zeitdiff = 3.8197 * acos((-0.0145 - (0.7459 * sin(Deklination))) / (0.6660 * cos(Deklination)) ) Sonnenaufgang = 12 - Zeitdiff - Woz_moz - 0.8355 + Stunden_korr 'Sonnenaufgang Sonnenuntergang = 12 + Zeitdiff - Woz_moz - 0.8355 + Stunden_korr 'Sonnenuntergang End Sub > > > Hallo Zusammen, > > > > > > ich habe ein Sub geschrieben, mit dem man den Sonnenaufgang und Untergang auf Basis von Tag und Monat berechnen kann. > > > > > > Die Variablen die vorkommen sind alle Single. Die Formeln stimmen, ich hab das im Excel nach geprüft. > > > Leider ist das Ergebnis das mit die CCPRO liefert falsch (ca. 1 Monat verschoben). > > > > > > Kann mir jemand sagen, ob es evtl. "Rundungsfehler" der CCPRO sein könnten? > > > > > > > > > Sub Sonnenaufgang_update() > > > > > > Tageszahl = Tag + ((Monat-1) * 30) > > > > > > Woz_moz = (-0.171 * sin(0.0337 * Tageszahl + 0.465)) - (0.1299 * sin(0.01787 * Tageszahl - 0.168)) > > > 'Zeitgleichung /in Stunden > > > > > > Deklination = 0.4095 * sin((Tageszahl - 80.086) * 0.016906) 'Berechnung Deklination > > > > > > 'Berechnung Zeitdifferenz , 0.7459 für Mühldorf am Inn > > > > > > Zeitdiff = 3.8197 * acos((-0.0145 - (0.7459 * sin(Deklination))) / (0.6660 * cos(Deklination)) ) > > > > > > Sonnenaufgang = 12 - Zeitdiff - Woz_moz - 0.8355 + Stunden_korr 'Sonnenaufgang > > > Sonnenuntergang = 12 + Zeitdiff - Woz_moz - 0.8355 + Stunden_korr 'Sonnenuntergang > > > > > > End Sub > > > > > > > > > Danke, > > > Simon > > > > > > Hallo, > > > > hast du schon mal die einzelnen Zwischenergebnisse überprüft? > > > > Also alles singel kann nicht sein oder gilt das auch für Tageszahl, Tag und Monat? > > Dann müssen aber auch die Konstaten 1.0 und 30.0 sein. > > Früher gab es immer wieder Problem, wenn man z.B. Single mit einer Int Konstanten verarbeitet. > > > > Grü�e Jörg > > > > Ich würde auch zuerst die Zwichenergebnisse pürfen. > Wenn du ganze Zahlen als Singel angibst, dann füge diesen ein .0 hinzu. > Das gilt auch für die Konstanten wie Jörg das schon erwähnte. > | ||
Antwort schreiben Antworten: Re: Sonnenaufgangsberechnung -> Die Lösung (von Joerg - 27.11.2015 16:00) |
Zur Übersicht - INFO - Neueste 50 Beiträge - Neuer Beitrag - Suchen - Zum C-Control-I-Forum - Zum C-Control-II-Forum