L'Angle entre les deux vecteurs matlab
Je veux calculer l'angle entre 2 vecteurs V = [Vx Vy Vz]
et B = [Bx By Bz]
.
est-ce la formule correcte?
VdotB = (Vx*Bx + Vy*By + Vz*Bz)
Angle = acosd (VdotB / norm(V)*norm(B))
et est-il un autre moyen de le calculer?
Ma question n'est pas de normaliser les vecteurs ou de la rendre plus facile. Je demande à propos de comment faire pour obtenir l'angle entre ces deux vecteurs
Semble être plus une question de mathématiques que d'une question de programmation.
En fonction de votre langue, vous devez ajouter des parenthèses pour s'assurer que le produit est évaluée avant la division. Si évaluées de gauche à droite, ce ne serait pas correct.
En fonction de votre langue, vous devez ajouter des parenthèses pour s'assurer que le produit est évaluée avant la division. Si évaluées de gauche à droite, ce ne serait pas correct.
OriginalL'auteur Jack_111 | 2013-08-20
Vous devez vous connecter pour publier un commentaire.
Basé sur ce lien, ce qui semble être le plus stable de la solution:
Viens de lire plus via le lien que j'ai fourni. Ils sont tous les deux corrects en théorie, mais en pratique, celui-ci est mentionné pour fournir des résultats plus stables (alors que la solution
acos
calcule un peu plus vite).OriginalL'auteur Dennis Jaheruddin
Il y a beaucoup d'options:
Toutes les formules de cette mathworks fil. Il est dit que l'a3 est le plus stable, mais je ne sais pas pourquoi.
Pour de multiples vecteurs stockées sur les colonnes d'une matrice, on peut calculer les angles à l'aide de ce code:
OriginalL'auteur Pedro77
Vous pouvez calculer
VdotB
beaucoup plus rapide et pour des vecteurs de longueur arbitraire à l'aide de l'opérateur point, à savoir:En outre, comme mentionné dans les commentaires, matlab a la dot fonction pour calculer intérieure des produits directement.
En outre, la formule est ce que c'est si ce que vous faites est correct.
V*B'
Est-il une raison pour laquelle vous avez évité les intrinsèque
dot
fonction ?Pas en dehors de l'oubli de son existence.
non, il n'est pas de la raison et de la dot de la fonction fonctionne très bien, mais juste que j'ai écrit la question comme ça.
OriginalL'auteur Marc Claesen
Cette fonction doit retourner l'angle en radians.
OriginalL'auteur Jonas Stein