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

Traitement d'images Discussion :

Resolution systeme Ax=0 avec x non NUL


Sujet :

Traitement d'images

  1. #1
    Nouveau membre du Club
    Homme Profil pro
    Inscrit en
    Mars 2011
    Messages
    34
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Secteur : Enseignement

    Informations forums :
    Inscription : Mars 2011
    Messages : 34
    Points : 29
    Points
    29
    Par défaut Resolution systeme Ax=0 avec x non NUL
    Bonjour,

    Je me retrouve face un problème :

    Dans un de mes algos, je doit résoudre un system Ax=[0 0 0] avec A une matrice [4x3] et x un vecteur [4] non NULL.
           0.66  | 0.00 | 0.74
           0.33  | 0.57 | 0.74
     A =   -0.33 | 0.57 | 0.74
           -0.66 | 0.00 | 0.74
    
    Je doit fixer x(0) à une valeur je choisi 1.0 le problème est que je trouve uniquement une solution x[1 0 0 -1] mais il faudrait que x(1) et x(2) ne soit pas nul.

    Il y a t-il une solution ? je ne vois pas comment faire ?

    Merci de vos réponse.

  2. #2
    Membre expérimenté
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Mars 2011
    Messages
    585
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mars 2011
    Messages : 585
    Points : 1 560
    Points
    1 560
    Par défaut
    Salut,

    Je ne comprend pas trop ton problème car pour moi tu il y a un problème de dimension.

    Si Ax est bien le produit matrice/vecteur colonne, alors Ax=[0 0 0] n'a qu'une seul solution: le vecteur (colonne) nul [0 0 0], et x doit être un vecteur[3].

  3. #3
    Nouveau membre du Club
    Homme Profil pro
    Inscrit en
    Mars 2011
    Messages
    34
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Secteur : Enseignement

    Informations forums :
    Inscription : Mars 2011
    Messages : 34
    Points : 29
    Points
    29
    Par défaut
    x vecteur ligne A matrice 4x3 vecteur ligne
    [x0 x1 x2 x3] * A[4x3] = [ 0 0 0 ]


    x = A^1 * [ 0 0 0 ]


    Je ne vois pas le problème ?

  4. #4
    Membre averti Avatar de ZnhaarX
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Février 2011
    Messages
    146
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 35
    Localisation : France

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Février 2011
    Messages : 146
    Points : 307
    Points
    307
    Par défaut
    En effet tu as un problème de dimension.
    Si tu dis que A[4,3] et que X[4], ta représentation est comme ceci:

    A
    A11 A12 A13
    A21 A22 A23
    A31 A32 A33
    A41 A42 A43

    X
    X11
    X21
    X31
    X41

    Or il y a bien un problème de dimension.
    Essayes de faire A*X et tu verras que ça cloche.

    x = A^1 * [ 0 0 0 ]
    Je pense que tu as plutôt voulu dire A^(-1) (matrice inverse).
    Quand bien même, vu que sa matrice n'est pas carrée, on ne peut pas l'inverser.

    Quoiqu'il en soit, si tu pose ton système, ça doit te faire un système de trois équations à 4 inconnues. Donc dans le pire des cas, tu auras l'utilisation d'une variables en tant que paramètre.
    Donc à l'arrache ça ferait:

    0.66*x11 + 0.33*x12 - 0.33*x13 - 0.66*x14 = 0
    0.57*x12 - 0.33*x13 = 0
    0.74*x11 + 0.74*x12 - 0.74*x13 - 0.74*x14 = 0

    Dis ce que tu trouves comme système final s'il te plait (je suis au taff pas le temps le faire).


    Edit: Ok tu t'es mal exprimé sur tes notations alors. X[4,1] != X[1,4] hein =)

  5. #5
    Membre expérimenté
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Mars 2011
    Messages
    585
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mars 2011
    Messages : 585
    Points : 1 560
    Points
    1 560
    Par défaut
    A^-1 sur une matrice rectangulaire, ça c'est un problème ^^
    Et A*x n'est pas pareil que x*A (c'est pas commutatif le produit matrice/vecteur).

    Enfin, rigoureusement, ton problème se formule comme ceci:
    A = 
    0.66 0.33 -0.33 -0.66
    0.00 0.57  0.57  0.00
    0.74 0.74  0.74  0.74
    
    x = 
    a
    b
    c
    d
    
    Ax = 
    0
    0
    0
    
    Ce qui donne comme résultat (la flème de détailler les calcules, c'est une résolution classique de système: Cramer, pivo, à la main, TI92, les méthodes ne manques pas...):
    a = t, b = 2*t, c = -2*t, d = t avec t comme tu le souhaite

  6. #6
    Membre averti Avatar de ZnhaarX
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Février 2011
    Messages
    146
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 35
    Localisation : France

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Février 2011
    Messages : 146
    Points : 307
    Points
    307
    Par défaut
    Heu pyros...

    J'ai pas vérifié tes résultats, je te fais confiance.
    Mais je vois pas comment tu peux résoudre ça avec la méthode de Cramer. Cette méthode utilise les déterminants, et je ne vois pas vraiment comment tu vas calculer le déterminant d'une matrice non carrée

  7. #7
    Nouveau membre du Club
    Homme Profil pro
    Inscrit en
    Mars 2011
    Messages
    34
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Secteur : Enseignement

    Informations forums :
    Inscription : Mars 2011
    Messages : 34
    Points : 29
    Points
    29
    Par défaut
    Merci à tous de vos réponses.

    En faite le problème n'été pas dans l'inversion de la matrice non carré pour sa j'utilise la pseudo inverse (Ref :Numerical Recipes in C).

    Mon problème se trouvé dans dans le fait que j'obtienne x=[1 0 0 -1], difficile à utiliser car la matrice A correspond à une matrice de placement de lampe dans un espace 3D<x,y,z>. Cette matrice me permet de calculer un champs de gradients sur une image en pondérant par x le valeur de pixel de 4 images hors avec x=[1 0 0 -1] il est impossible de calculer le champs de gradient car il me faut au minimum 3 valeur de pixel non nulles.

    Le problème venait des valeurs de A qui sont les emplacement de 4 éclairage sur 6 mais en opposition cette combinaison est un cas particulier et ne peut être utilisable physiquement.

    Dans les autre cas je trouve x[ nonNul nonNul nonNul nonNul] donc pas de problème. Ce cas particulier doit être écarté.

  8. #8
    Membre expérimenté
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Mars 2011
    Messages
    585
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mars 2011
    Messages : 585
    Points : 1 560
    Points
    1 560
    Par défaut
    Mais je vois pas comment tu peux résoudre ça avec la méthode de Cramer. Cette méthode utilise les déterminants, et je ne vois pas vraiment comment tu vas calculer le déterminant d'une matrice non carrée
    Oui, oui, tout à fait, je me suis un peu emballé

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

Discussions similaires

  1. Resolution systeme ODE avec dependance temporelle
    Par nsx37 dans le forum MATLAB
    Réponses: 1
    Dernier message: 02/04/2012, 21h04
  2. [Système]Service windows avec java
    Par stephpr44 dans le forum Général Java
    Réponses: 4
    Dernier message: 24/11/2005, 21h50
  3. Problème de mutex avec Waitforsingleobject non-bloquant
    Par rvzip64 dans le forum API, COM et SDKs
    Réponses: 6
    Dernier message: 03/11/2005, 12h02
  4. champ non nul
    Par MANU_2 dans le forum SQL Procédural
    Réponses: 2
    Dernier message: 05/09/2005, 17h57
  5. Fichier texte avec codage non standard
    Par giloutho dans le forum Langage
    Réponses: 4
    Dernier message: 15/07/2005, 20h31

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