IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

MATLAB Discussion :

Trouver un angle entre 0° et 360° avec sin et cos


Sujet :

MATLAB

  1. #1
    Membre du Club
    Femme Profil pro
    Étudiant
    Inscrit en
    Juin 2014
    Messages
    74
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France, Aveyron (Midi Pyrénées)

    Informations professionnelles :
    Activité : Étudiant
    Secteur : Service public

    Informations forums :
    Inscription : Juin 2014
    Messages : 74
    Points : 49
    Points
    49
    Par défaut Trouver un angle entre 0° et 360° avec sin et cos
    Bonjour à tous,

    Je ne suis pas certaine d'être dans le bon thème de ce forum, mais j'espère que vous saurez quand même m'aider ...

    Suite à un travail réaliser en amont (je vous passe les détails ), j'obtiens des valeurs de sin et cos.

    Exemple :

    ValeurCos = [0.72 : 0.02 : -0.26 : -0.67]
    ValeurSin = [0.23 : -0.45 : -0.06 : 0.98]


    ValeurCos(1) et ValeurSin(1) doivent me donner l'angle A1 en degré, ValeurCos(2) et ValeurSin(2) doivent me donner l'angle A2 en degré, etc ...
    Comme je travaille en degré, je précise que j'utilise les fonctions de trigonométrie sind, cosd et tand et l'angle Ai est donné par :

    Ai = atand( ValeurSin(i) / ValeurCos(i) )

    Jusque là tout va très bien ... sauf que pour UNE valeur de atand(X) il peut y avoir DEUX angles A1 !
    Je m'explique :
    >> Si j'ai cos et sin qui sont deux valeurs positives, l'angle calculé qui ressort est le bon.
    >> Si le cos ou le sin est une valeur négative, alors le quotient entre le sin et le cos donne une valeur négative. Comme Matlab considère que le cos est toujours positif (et donc que le négatif est forcément le sinus ... ), l'angle calculé ressort avec une "erreur" de 180° .
    >> Si le sin et le cos sont négatifs, alors le quotient entre le sin et le cos donne une valeur positive ... et Matlab ne différencie pas -sin/-cos et sin/cos ... J'ai donc mon "erreur" de 180° .

    Je pensais rajouter une condition à mon calcul du style :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
    If cos(i) < 0 
      Ai = Ai - 180
    end
    Mais n'y a-t'il pas quelque chose de plus propre à faire ? N'existe t'il pas une fonction Matlab qui convertit un couple sin/cos en angle ? Car au final ces valeurs représentent simplement les coordonnées d'un vecteur de dimension égale à 1 ... ?

    Merci d'avance !!!

  2. #2
    Nouveau membre du Club
    Homme Profil pro
    Inscrit en
    Janvier 2013
    Messages
    51
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Janvier 2013
    Messages : 51
    Points : 34
    Points
    34
    Par défaut
    Je pense que tu devrai regarder du côté de la fonction qui prend en compte le signe et se place directement dans le bon cadran. C'est bien ton problème ?

  3. #3
    Membre du Club
    Femme Profil pro
    Étudiant
    Inscrit en
    Juin 2014
    Messages
    74
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France, Aveyron (Midi Pyrénées)

    Informations professionnelles :
    Activité : Étudiant
    Secteur : Service public

    Informations forums :
    Inscription : Juin 2014
    Messages : 74
    Points : 49
    Points
    49
    Par défaut
    Merci med.doc !

    C'est exactement ce que je cherchais
    Je corrige juste un détail pour l'appliquer à mon cas (en degrés) :


    C'était tout bête, mais je n'avais pas encore trouvé.
    Alors merci.

    A+

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. [RegEx] Trouver des mots entre des mots avec le Regex seulement
    Par mutkas10 dans le forum Langage
    Réponses: 3
    Dernier message: 16/01/2013, 11h48
  2. [Débutant] Calculer un angle entre 3 points avec des coordonnées X Y Z
    Par mattparla dans le forum MATLAB
    Réponses: 6
    Dernier message: 28/11/2009, 18h43
  3. Trouver l'angle en 2D entre un point et un centre
    Par Happy dans le forum Développement 2D, 3D et Jeux
    Réponses: 4
    Dernier message: 11/08/2008, 10h51
  4. [SWT]comptabilité entre SWT et Swing : avec eclipse
    Par lawale125 dans le forum AWT/Swing
    Réponses: 8
    Dernier message: 12/01/2007, 11h58
  5. angle entre 2 segments
    Par tane dans le forum Mathématiques
    Réponses: 4
    Dernier message: 25/09/2002, 17h47

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo