Planets Rise/Set

Computation of rising and setting times of major planets, the Sun, and the Moon utilizing the iterative method

You are now following this Submission

The test_Planets_RiseSet.m computes planetary positions using JPL_Eph_DE440.m. To compute the rising and setting times of a planet we first determine its geocentric equatorial coordinates (α and δ) for an arbitrary time on the given day. Then, from the declination and the geographical latitude, test_Planrise.m determines whether the planet is continuously above or below the horizon.
Year, month, day, lambda (Geographic east longitude of the observer in [deg]), phi (Geographic latitude of the observer in [deg]), and zone (local time - universal time in [hour]) are received, then rising and setting times of major planets, the Sun, and the Moon are computed.
east longitude and latitude of the observer can be found in:
local time - universal time is available here (daylight saving time is considered):
References:
Montenbruck O., and Pfleger T., "Astronomy on the Personal Computer," Springer Verlag, Heidelberg, 4th edition, 2000.

Cite As

Meysam Mahooti (2026). Planets Rise/Set (https://se.mathworks.com/matlabcentral/fileexchange/60055-planets-rise-set), MATLAB Central File Exchange. Retrieved .

General Information

MATLAB Release Compatibility

  • Compatible with any release

Platform Compatibility

  • Windows
  • macOS
  • Linux
Version Published Release Notes Action
2.1.1

JPL DE430 was replaced by JPL DE440, and test_Planets_RiseSet.m was modified.

2.1.0.0

The DE430 full matrix is added.

2.0.0.0

Accuracy is improved using planetary positions with respect to true equator and equinox of date rather than mean equator and equinox of date. (TOD_PlanPos = Nutation*Precession*ICRF_PlanPos)
Planetary positions are computed applying Jet Propulsion Laboratory Development Ephemeris (DE430). CityName.m is added to give the name of city you have entered its geographical latitude and longitude.
Condition for computation of Moon's rising/setting times is added.
line 30 of Planrise.m:
Sin_h0m = sin(pi/180*(7.5/60)); % sin(+7.5'); altitude for the Moon.

1.0.0.0