Zur Übersicht - INFO - Neueste 50 Beiträge - Neuer Beitrag - Suchen - Zum C-Control-I-Forum - Zum C-Control-II-Forum

Re: Sonnenaufgangsberechnung -> Die Lösung Kategorie: Programmierung Basic (von Joerg - 27.11.2015 16:00)
Als Antwort auf Re: Sonnenaufgangsberechnung -> Die Lösung von Simon - 26.11.2015 21:12

> 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.
> >

Hallo,

du mischt aber immer noch single mit integer...
Bist du sicher das es immer funktioniert?
Wie geht die Sommerzeitumstellung eigentlich ein?

Grü�e Jörg


    Antwort schreiben


Antworten: