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');
****************************************************************************************************************************************************************
回答(1 个)
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.
另请参阅
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!