Variable Step rates in loops

  • Thread starter Thread starter gtslabs
  • Start date Start date
G

gtslabs

I am working on an astronomy project where I need to get all the
conjunctions of 2 planets between 2 dates.
I have functions that give me the Longitude of each planet and the
Angular Separation between 2 longitudes. These are based on a Julian
Day.

I need help with how to get the most accurate date/time of each event
where PAS (Planetry Angular Separation) = 0 or less than X (say
0.001*)

When I step thur my routine with the Julian Day (JD) by 1 I dont get
the precision as if I steped thru at 0.0001.
Obvously the 0.0001 step would take forever if I am searching over 30
years.

Is there a way to have a variable STEP that reduces based on the value
of my PAS?
Then once one event is solved, the step would go back to 1 and start
the loop over?

Thanks
 
Hi. Would a simple linear interpolation function work for you?
If at day 10, planet a is 4 degrees ahead of B, and on day 20 it is -12
degrees behind, then a very simple next guess might be...

Sub Example()
Debug.Print NextGuess(10, 4, 20, -12)
End Sub

Returns: 12.5

Meaning that a guess of when they were the closest is day 12, at around
noon.
Use this, and the closest of the previous two observations, and loop again.

Function NextGuess(t1, d1, t2, d2)
'Time 1, Difference 1, time 2, Difference 2

NextGuess = (d1 * t2 - d2 * t1) / (d1 - d2)
End Function

= = =
HTH :>)
Dana DeLouis
 
Back
Top