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 de valeurs propres


Sujet :

MATLAB

  1. #1
    Membre à l'essai
    Inscrit en
    Août 2009
    Messages
    13
    Détails du profil
    Informations forums :
    Inscription : Août 2009
    Messages : 13
    Points : 10
    Points
    10
    Par défaut Calcul de valeurs propres
    bonjour,
    je suis nouveau sur le forum, je travaille avec matlab ma question est:
    j'ai une variable x=-1:1 dans une matrice A=[1 x 5;2*x 3 6;1 3 4*x]
    je veux tracer les valeurs propres de A en fct de x

    quelle l'instruction que je dois utiliser
    merci

  2. #2
    Rédacteur/Modérateur

    Avatar de Jerome Briot
    Homme Profil pro
    Freelance mécatronique - Conseil, conception et formation
    Inscrit en
    Novembre 2006
    Messages
    20 308
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Freelance mécatronique - Conseil, conception et formation

    Informations forums :
    Inscription : Novembre 2006
    Messages : 20 308
    Points : 52 891
    Points
    52 891
    Par défaut
    Déjà, une simple boucle FOR-END devrait être suffisante pour calculer ces valeurs propres, non ?

    Ensuite pour l'affichage, je suis un peu perplexe... à quoi cela peut-il servir d'afficher les valeurs propres sans les vecteurs propres

    Montres-nous ce que tu as déjà essayé...

  3. #3
    Membre à l'essai
    Inscrit en
    Août 2009
    Messages
    13
    Détails du profil
    Informations forums :
    Inscription : Août 2009
    Messages : 13
    Points : 10
    Points
    10
    Par défaut
    le code utilise est mais pas de plot
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    for x=-1:1 ;
    A=[1 x 5;2*x 3 6;1 3 4*x];
     
    d=eig(A);
     
    plot(x,d)
    end

  4. #4
    Expert éminent sénior
    Avatar de Caro-Line
    Profil pro
    Inscrit en
    Mars 2007
    Messages
    9 458
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2007
    Messages : 9 458
    Points : 14 830
    Points
    14 830
    Par défaut
    Le truc c'est que là il te fait un tracé de 3 points à chaque boucle.

    Ce qu'il faut c'est "enregistrer" chaque valeur de d pour un x donné, et ensuite tracer d en fonction de tous les x.

    Enfin si c'est bien cela que tu veux tracer puisque pour chaque x tu a 3 valeurs propres.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    for x=-1:1 
        A=[1 x 5;2*x 3 6;1 3 4*x];
        d(:,x+2)=eig(A); %x+2 car les indices doivent être strictement positifs
    end
    x=-1:1;
    plot(x,d)
    Il y a un warning car pour x=1 il y a des valeurs propres complexes.

  5. #5
    Rédacteur/Modérateur

    Avatar de Jerome Briot
    Homme Profil pro
    Freelance mécatronique - Conseil, conception et formation
    Inscrit en
    Novembre 2006
    Messages
    20 308
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Freelance mécatronique - Conseil, conception et formation

    Informations forums :
    Inscription : Novembre 2006
    Messages : 20 308
    Points : 52 891
    Points
    52 891
    Par défaut
    Citation Envoyé par Caro-Line Voir le message
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    for x=-1:1 
        A=[1 x 5;2*x 3 6;1 3 4*x];
        d(:,x+2)=eig(A); %x+2 car les indices doivent être strictement positifs
    end
    x=-1:1;
    plot(x,d)
    Ici, je ferais plutôt ceci :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    x = -1:1;
    for k = 1:numel(x)  
        A = [1 x(k) 5 ; 2*x(k) 3 6 ; 1 3 4*x(k)];
        d(:,k) = eig(A);
    end
    plot(x,d)
    Au cas où x contienne des valeurs réelles

  6. #6
    Membre à l'essai
    Inscrit en
    Août 2009
    Messages
    13
    Détails du profil
    Informations forums :
    Inscription : Août 2009
    Messages : 13
    Points : 10
    Points
    10
    Par défaut
    merci pour a tous, jai essaye le dernier code ca marche
    a ++ tard

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

Discussions similaires

  1. Problème pour le calcul de valeurs propres
    Par greg974974 dans le forum Scilab
    Réponses: 2
    Dernier message: 27/04/2014, 18h18
  2. Réponses: 42
    Dernier message: 28/05/2012, 16h52
  3. Calcul de valeurs propres
    Par Julien78510 dans le forum Fortran
    Réponses: 3
    Dernier message: 19/01/2010, 14h19
  4. Calcul de valeurs propres
    Par Andrey dans le forum Pascal
    Réponses: 6
    Dernier message: 11/02/2007, 23h20
  5. [Debutant]calcul de valeurs propres, givens-householder
    Par malbarre dans le forum Algorithmes et structures de données
    Réponses: 12
    Dernier message: 18/08/2005, 16h40

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