Is there a bug in MATLAB siderealTime function?

8 visualizaciones (últimos 30 días)
Jae-Hee Park
Jae-Hee Park el 29 de Jun. de 2022
Respondida: Collin Russo el 5 de Jul. de 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));

Respuesta aceptada

Collin Russo
Collin Russo el 5 de Jul. de 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

Más respuestas (0)

Categorías

Más información sobre Dates and Time en Help Center y File Exchange.

Etiquetas

Community Treasure Hunt

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

Start Hunting!

Translated by