Is there a bug in MATLAB siderealTime function?

8 vues (au cours des 30 derniers jours)
Jae-Hee Park
Jae-Hee Park le 29 Juin 2022
Hey!
I want to use siderealTime function in MATLAB but the value is different in the code below.
I think thGMST(1) and thGMSTfirst are the same also thGMST(end) and thGMSTend are the same too.
But values are different.
How does this occur?
In my computer the values are like this.
thGMSTfirst = 284.3031
thGMSTend = 313.8725
thGMST(1) = 26.2954
thGAST(end) = 55.8647
dates = datetime([2019 1 4 12 0 0]);
dates = dates + days(0:30)';
jdJan = juliandate(dates);
[thGMST, thGAST] = siderealTime(jdJan);
thGMSTfirst = siderealTime(jdJan(1));
thGMSTend = siderealTime(jdJan(end));

Réponse acceptée

Collin Russo
Collin Russo le 5 Juil 2022
Hi Jae-Hee,
Thank you for flagging this issue.
The output of the calls to siderealTime with scalar inputs is correct:
thGMSTfirst = siderealTime(jdJan(1));
thGMSTend = siderealTime(jdJan(end));
There is a bug in the vectorization code for the function - I have created an internal bug report to resolve this issue.
In the meantime, please continue to call siderealTime with scalar inputs. To calculate multiple values, use a for-loop or arrayfun.
In the future, please contact Tech Support if you feel you have found a bug in the software to ensure we are notified as quickly as possible and can address the issue in a timely fashion.
Thanks,
Collin

Plus de réponses (0)

Catégories

En savoir plus sur Dates and Time dans Help Center et File Exchange

Community Treasure Hunt

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

Start Hunting!

Translated by