Azzera filtri
Azzera filtri

Why I'm getting a complex degree value while using "acos"?

3 visualizzazioni (ultimi 30 giorni)
% To reproduce the snippet, you can use below code
XYZc = [2489011.31135707, 7440368.1011554, 17.6551714555564];
X0 = 2489018.662
X0 = 2.4890e+06
Y0 = 7440333.989
Y0 = 7.4403e+06
Z0= 10.091
Z0 = 10.0910
dir_vec1 = XYZc-[X0, Y0, Z0];
dir_mag1= norm(dir_vec1);
dir_vec2 = [0,XYZc(2),0]-[X0, Y0, Z0];
dir_mag2= norm(dir_vec2);
alpha = acosd(dir_mag2/dir_mag1)
alpha = 0.0000e+00 + 6.7868e+02i
  1 Commento
Matt J
Matt J il 10 Giu 2023
I have edited your post for you to make your code output visible. It is always advisable to do this so we can see what output you are talking about.

Accedi per commentare.

Risposta accettata

Matt J
Matt J il 10 Giu 2023
Modificato: Matt J il 10 Giu 2023
Because abs(dir_mag2/dir_mag1) is greater than 1.
abs(dir_mag2/dir_mag1)
ans = 6.9710e+04
  13 Commenti
Abb
Abb il 11 Giu 2023
Modificato: Abb il 11 Giu 2023
@Matt J I do not see "Accepted Answer" in this comment! can you please enable it?
Image Analyst
Image Analyst il 11 Giu 2023
It's not in the comments, neither his nor yours. It should be above, at the very first answer post of @Matt J

Accedi per commentare.

Più risposte (0)

Categorie

Scopri di più su Introduction to Installation and Licensing in Help Center e File Exchange

Prodotti


Release

R2023a

Community Treasure Hunt

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

Start Hunting!

Translated by