Problem using planetEphemeris function

10 次查看(过去 30 天)
I want to use planetEphemeris to obtain daily noon (X,Y,Z) positions of former planet Pluto wrt to Mercury, starting at midnight in
about Year 0 AD and continuing to about year 4000 AD. An example of the code I have written to do this looks like:
***********************************************************************************************************************************************
for n=1721027.5:1725027 % This for loop uses Julian date info and does about 4000 loops for testing purposes
% Get Pluto's XYZ position relative to Mercury at this time
position_merc = planetEphemeris([n 0.5],'Mercury','Pluto'); % This was line 24 in my original code. "0.5" means get the noon position.
end
************************************************************************************************************************************************
However, right away I get the following error message. No idea what is going on. Am I not using the database correctly? Does the database DE405 only address a limited time period? How do I get (X,Y,Z) data over longer time periods? is there another database I should be using? :
***************************************************************************************************************************************************************
Error using ephRegister
The requested Julian date (1721028) is outside the range of the ephemerides database. For the database DE405, the Julian dates must
be between 2305424.5 and 2525008.5.
Error in planetEphemeris (line 197)
[registerNumber,aufac,t,warnFlag] = ephRegister(ephemerisTime(m,1:end),units,...
Error in test_mercury_pluto (line 24)
position_merc = planetEphemeris([n 0.5],'Mercury','Pluto');
****************************************************************************************************************************************************************
  3 个评论
Ken Bannister
Ken Bannister 2021-12-5
Good advice. Thank you. I will follow up on it.

请先登录,再进行评论。

回答(1 个)

Abhiroop Rastogi
Abhiroop Rastogi 2021-12-6
Hi Ken,
You are recieving this error message because the function "planetEphemeris" uses '405' ephemerides coefficient as default which takes the Julian date range from "2305424.5 (December 9, 1599)" to "2525008.5 (February 20, 2201)". Whereas the Julian date range used in the above mentioned code is from "1721027.5 (November 30, -0001)" to "1725027.5 (12 November, 0010)", which is out of bounds. There are other ephemerides coefficients, that can be used for different ranges of dates, but the range mentioned in the code is still going to be out of bounds.
Other available ephemerides coefficients that can be utilized are:
  • '421' — Julian date range: 2414992.5 (December 4, 1899) to 2469808.5 (January 2, 2050)
  • '423' — Julian date range: 2378480.5 (December 16, 1799) to 2524624.5 (February 1, 2200)
  • '430' — Julian date range: 2287184.5 (December 21, 1549) to 2688976.5 (January 25, 2650)
  • '432t' — Julian date range: 2287184.5, (December 21, 1549 ) to 2688976.5, (January 25, 2650)
Although the date ranges of '430' and '432t' are same, '432t' is an update over '430' updating the estimated orbit of the Pluto system barycenter.
You can refer to planetEphemeris documentation page for more insights on the function.
  1 个评论
Ken Bannister
Ken Bannister 2021-12-7
Sir: Thank you so much for your great answer! This orbital mechanics field is all new to me, so there
is a lot I need to learn about nomenclature and the kinds of data used. So far it has been an excellent
learning experience. I must have
totally overlooked the planetEphemerides documentation page, or saw it but did not
understand what it was telling me. I think now with your expert input, and what Mr. Rodriguez at
Mathworks has provided, I will be able to solve my orbital mechanics problem.
V/R, Ken Bannister

请先登录,再进行评论。

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by