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 :

Calcul des valeurs singulières et vecteurs singuliers pour une matrice


Sujet :

MATLAB

  1. #1
    Membre extrêmement actif
    Avatar de mihaispr
    Inscrit en
    Décembre 2008
    Messages
    1 025
    Détails du profil
    Informations forums :
    Inscription : Décembre 2008
    Messages : 1 025
    Points : 858
    Points
    858
    Par défaut Calcul des valeurs singulières et vecteurs singuliers pour une matrice
    Salut a tous!

    J'ai une probleme avec le fonctionnement de la fonction svd en matlab.

    Je veux calculer les valeurs singulaires et les vecteurs singulaire pour la matrice a.


    Pour les valeurs singulaires ca marche tres bien et j'ai entendu le principe :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
     
    >> a=[1 -1; 0.5 2] %definir ma matrice
    >> a' %calcul de la transpose
    >> b=eig(a)  %calculer les valeurs propres pour ma matrice a dans variable b
    >>[u,lambda]=eig(a)  %calcul des vecteurs propres dans la variable u et les valeurs propres dans la variable lambda
    >>[U,S,V]=svd(a) %calcul des valeurs singulaires pour ma matrice a
    U- vecteurs propres pour la matrice c=a'*a
    V- vecteurs propres pour la matrice d=a'*a
    Maintenant le calcul des valeurs propres pour les matrices c et d en utilisant eig:


    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
     
    >>c=a'*a
    >>[u1,lambdav1]=eig(c) 
    >>d=a*a'
    >>[u2,lambdav2]=eig(d)
    Ok. Le demarche attache dans le code vas tres bien. Donc svd c'est la fonction pour calculer les valeurs singulaires d'une matrice.


    Ma question c'est comment calculer mes vecteurs singulaires en partant de ma matrice a?

    Quelle fonction utiliser? svds?


    J'attends svp un petit example du calcul pour ma matrice a pour calculer les vecteurs singulaires de la matrice a.

  2. #2
    Membre extrêmement actif
    Avatar de mihaispr
    Inscrit en
    Décembre 2008
    Messages
    1 025
    Détails du profil
    Informations forums :
    Inscription : Décembre 2008
    Messages : 1 025
    Points : 858
    Points
    858
    Par défaut
    Vous avez des idees svp?

    Je sais que je dois utiliser la fonction svds du matlab.

    Premierment les valeurs propres sont calcules pour une matrice carre et les valeurs singulaires pour une matrice rectangulaire ca c'est la chose importante que j'ai appris pendant ce temps.

    Pouvez-vous me dire que c'est une matrice rectangulaire? (nombre lignes~=nombre colonnes)?

    J'attends vos reponse et une solution en partant de ce que j'ai fais!

    Merci pour votre comprehension!

    Ca c'est une matrice carre 2x2:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    >> a=[1 -1; 0.5 2] %definir ma matrice
    Comment definir une matrice rectangulaire en matlab?

    Amicalment,

    Michel

  3. #3
    Membre confirmé
    Avatar de Dam2227
    Inscrit en
    Juin 2007
    Messages
    343
    Détails du profil
    Informations personnelles :
    Âge : 40

    Informations forums :
    Inscription : Juin 2007
    Messages : 343
    Points : 487
    Points
    487
    Par défaut
    Salut. Il y a un exemple donné à cette adresse internet :

    http://en.wikipedia.org/wiki/Singula..._decomposition

    J'ai repris la matrice A et appliqué la fonction svd et svds et ça marche très bien. Voilà le code :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
     
    function mihaispr
     
    A=[1 0 0 0 2;0 0 3 0 0;0 0 0 0 0;0 4 0 0 0];
     
    [U S V]=svds(A) 
    U*S*(V')
     
    [U S V]=svd(A)
    U*S*(V')
    A partir de là, tu as accès à tout ce que tu veux il me semble.

    ++

  4. #4
    Membre extrêmement actif
    Avatar de mihaispr
    Inscrit en
    Décembre 2008
    Messages
    1 025
    Détails du profil
    Informations forums :
    Inscription : Décembre 2008
    Messages : 1 025
    Points : 858
    Points
    858
    Par défaut
    Excellent! C'est ce que je voulais!

    Je sais du point de vue mathematique chaque variable que represente parce que j'ai regarde dans le help.

    J'ai oublie comment on definis une matrice rectangulaire mais tu m'a aide maintenant ! Donc je disais bien nombre lignes~=nombre colonnes!

    Je marque comme resolu! C'est excellent! Merci encore!


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

Discussions similaires

  1. Calcul des valeurs et vecteurs propres de l'ACP
    Par amine31000 dans le forum Algorithmes et structures de données
    Réponses: 13
    Dernier message: 08/08/2012, 19h52
  2. valeurs propres et vecteurs propres d'une matrice
    Par Naomé dans le forum Mathématiques
    Réponses: 12
    Dernier message: 07/06/2011, 19h30
  3. valeurs propres et vecteurs propres d'une matrice
    Par galadorn dans le forum C++
    Réponses: 2
    Dernier message: 28/02/2009, 20h06
  4. Réponses: 15
    Dernier message: 18/07/2007, 14h11
  5. Réponses: 6
    Dernier message: 22/11/2005, 17h08

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