tleread() loading incorrect data

98 次查看(过去 30 天)
am
am 2024-8-8,13:21
编辑: dpb 2024-8-12,17:27
Hello,
I'm trying to load TLE data to MATLAB using tleread function. Examining the MeanMotion values, they seem to either be loaded incorrectly or some conversion is going on. I tried to look in the help files for the tleread but couldn't find any details.
For instance, this is the tle data for the Iridium constellation: https://celestrak.org/NORAD/elements/gp.php?GROUP=iridium&FORMAT=tle
When saved as a .tle file and loaded to MATLAB, the MeanMotion values are incorrect.
I'm using MATLAB online, so version R2024a. I also tried it on a locally installed MATLAB (2024a), and getting the same results.
Am I missing something?
  2 个评论
dpb
dpb 2024-8-8,14:17
编辑:dpb 2024-8-8,14:46
which -all tleread
/MATLAB/toolbox/aero/spacecraft/tleread.p
Unfortunately, it's published as a p instead of as an m file, so can't see what it may be doing, but agreed; that doesn't seem to match anything in the records.
Only MATHWORKS can answer this since it is p-code; submit an official bug report.
There is an <FEX submission> that reads the tle file that you might use as a workaround in the meantime, or it doesn't appear to be too difficult to roll your own although it is somewhat tedious to parse fixed width files with MATLAB's toolset...
am
am 2024-8-8,15:01
Thank you for your reply! I have just submitted a bug report.

请先登录,再进行评论。

采纳的回答

Gayathri
Gayathri 2024-8-9,1:38
Hi @am,
The TLE data contains “mean motion” in revolutions/day unit. The “tleread” function in MATLAB reads the “mean motion” in degree/second unit. Hence the change in values is observed.
1 revolution/day = (360/(24*60*60)) degree/second
Hence, all the mean motion values in original TLE data are divided by 240 and this is the value seen in the data read by “tleread” function.
E.g. The first “mean motion” value 14.35329424426931 rev/day is converted to (14.35329424426931/240) degree/second = 0.0598 degree/second.
Hope you find this information helpful.
  5 个评论
am
am 2024-8-12,14:24
I reported it as a bug and have received the following response from the support.
"Thank you for bringing this up. As already mentioned in the MATLAB Answers Thread, the "tleread" function in MATLAB outputs the “mean motion” in degree/second. This is also "documented" if you type "help tleread" in the MATLAB Command Window:
MeanMotion :Mean motion, specified as a scalar double in degrees/second.
But I admit that this should also be mentioned in the "regular" documentation such that there is no confusion about that. I will forward this feedback internally in order to fix this in the documentation."
dpb
dpb 2024-8-12,14:29
编辑:dpb 2024-8-12,17:27
I'd write back and ask why they think they should mung on the file data in the first place...

请先登录,再进行评论。

更多回答(0 个)

类别

Help CenterFile Exchange 中查找有关 Install Products 的更多信息

产品

Community Treasure Hunt

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

Start Hunting!

Translated by