Нахождение истинной аномалии без двусмысленности

Я делаю некоторые вычисления параметров GPS с использованием Matlab. Я разработал два уравнения для истинной аномалии (орбитальный параметр).

Уравнения истинной аномалии

Где "vk" - это то, что я пытаюсь получить; "е" - эксцентриситет орбиты, а "эк" - эксцентрическая аномалия орбиты.

Я хочу извлечь истинную аномалию без двусмысленности, используя Matlab. Я должен преобразовать синус и косинус истинной аномалии в комплексное число и попросить Matlab вычислить аргумент, я пытался, но я не знаю, как выполнить это вычисление для Matlab. Любая помощь?

1 ответ

Решение

Я не уверен, что следую вашим рассуждениям, но если вы хотите вычислить то, что вы говорите, в самом конце вашего заявления:

Я хочу извлечь истинную аномалию без двусмысленности, используя Matlab. Я должен преобразовать синус и косинус истинной аномалии в комплексное число и попросить Matlab вычислить аргумент, я пытался, но я не знаю, как выполнить это вычисление для Matlab. Любая помощь?

... просто вычислите оба термина, сформируйте комплексное число и найдите угол / аргумент:

S = (sqrt(1 - e^2)*sin(Ek)) / (1 - e*cos(Ek));
C = (cos(Ek) - e) / (1 - e*cos(Ek));
val = C + 1i*S;
vk = angle(val);

Это предполагает, конечно, что cos(vk) образует реальную часть вашего числа и sin(vk) образует сложную часть.

Другие вопросы по тегам