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

Langage Java Discussion :

problème de alcul de cosinus entre deux vecteurs !?


Sujet :

Langage Java

  1. #1
    Membre à l'essai
    Inscrit en
    Janvier 2007
    Messages
    24
    Détails du profil
    Informations forums :
    Inscription : Janvier 2007
    Messages : 24
    Points : 24
    Points
    24
    Par défaut problème de alcul de cosinus entre deux vecteurs !?
    Bonjour, j'ai eu un problème dans les résulats de la formule qui calcul le cosinus entre deux vecteurs :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Cos ( X,Y) = ( somme( xi*yi) / Racine [somme(xi²)*somme(yi²) ]
    j'ai vérfier le programme et il es jsute mais qu'and je teste pour deux vecteurs de dimension 24 , le resulat est supprieur à 1 ( hors il foudrais être entre [-1, 1] ) .
    voici le programme que j'ai fait :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
      private double calcCos(int ha[] , int hb[]){
    	int l=ha.length;	
     
    	double x=0;
    	double y=0;
    	double d=0;	
     
    	for (int i=0;i<l;i++)
    	{	
    	 //System.out.println(ha[i]+" * "+hb[i]);
    	 d+=(ha[i]*hb[i]);
    	 x=x+(ha[i]*ha[i]);
    	 y=y+(hb[i]*hb[i]);	 
     
    	}
    	System.out.println("d="+d);
                 x=Math.sqrt(x);
                 y=Math.sqrt(y);
                 System.out.println("x="+x);
                 System.out.println("y="+y);	       
                 double s=x*y;
                 System.out.println("s="+s);
    	d=d/(s);  
                 System.out.println("d="+d);  
    	return d;	
     
      }

    et les deux vecteurs :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    ha[]={
    23952 ,22776, 14528, 4961 ,4176 ,3547 ,1680, 1180, 28971 ,26939, 7407 4344 ,4597 ,2653 ,1076, 813, 40018, 19433, 5566 ,4615 ,4479 ,1645, 396 648};
     
    hb[]={
    38285, 19960, 29100, 21662 ,8784 ,3111 ,1444 ,874 ,35708, 5900, 24121 32617 ,18394 ,5882 ,562 ,36 ,50777, 29165, 17759 ,11567 ,6849 ,5855 ,1125 123};

    j'aimerai bien qu'elle qu'un qui m'aide ou de m'expliquer pour quoi .

    merci d'avance .

  2. #2
    Membre habitué
    Profil pro
    Inscrit en
    Juin 2006
    Messages
    151
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2006
    Messages : 151
    Points : 151
    Points
    151
    Par défaut
    2 vecteurs de 24 dimensions? explique moi un peu .
    Tes entiers representent quoi? c'est un developpement limité ?

  3. #3
    Membre à l'essai
    Inscrit en
    Janvier 2007
    Messages
    24
    Détails du profil
    Informations forums :
    Inscription : Janvier 2007
    Messages : 24
    Points : 24
    Points
    24
    Par défaut + d'explication
    c'est le Produit scalaire de deux vecteurs en géométrie euclidienne ,

    ha et hb sont les deux vecteurs VectAB et VectBC , et je veut calculer le cosinus de l'angle entre ces deux vecteurs a partir de la formule :

    VectAB.VectAC = NormAB*NormAC* Cos( angleBAC ) .

  4. #4
    Membre habitué
    Profil pro
    Inscrit en
    Juin 2006
    Messages
    151
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2006
    Messages : 151
    Points : 151
    Points
    151
    Par défaut
    Citation Envoyé par mega_info Voir le message
    c'est le Produit scalaire de deux vecteurs en géométrie euclidienne ,

    ha et hb sont les deux vecteurs VectAB et VectBC , et je veut calculer le cosinus de l'angle entre ces deux vecteurs a partir de la formule :

    VectAB.VectAC = NormAB*NormAC* Cos( angleBAC ) .
    Oui je me rappelle le lycée .
    Mais dis nous ce qui represente les valeurs des tableaux ha et hb. Ta formule n'est certainement pas bien appliquée .

Discussions similaires

  1. Problème d'affichage Crystal Report entre deux machines.
    Par gwadakillah dans le forum SAP Crystal Reports
    Réponses: 0
    Dernier message: 20/09/2007, 14h01
  2. [Débutant] Problème de corrélation entre deux vecteurs vitesses
    Par sydneya dans le forum Signal
    Réponses: 2
    Dernier message: 29/08/2007, 08h08
  3. Distance euclidienne entre deux vecteurs
    Par larimoise dans le forum MATLAB
    Réponses: 3
    Dernier message: 02/04/2007, 22h44
  4. [Requête]Problèmes de nombre d'enregistrements entre deux requêtes
    Par Paul Gasser dans le forum Requêtes et SQL.
    Réponses: 1
    Dernier message: 23/03/2007, 12h20
  5. Convolution cyclique entre deux vecteurs
    Par valencfaty dans le forum Mathématiques
    Réponses: 1
    Dernier message: 28/01/2007, 17h40

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