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 :

redondance dans une matrice


Sujet :

MATLAB

  1. #1
    Futur Membre du Club
    Inscrit en
    Février 2011
    Messages
    12
    Détails du profil
    Informations forums :
    Inscription : Février 2011
    Messages : 12
    Points : 6
    Points
    6
    Par défaut redondance dans une matrice
    Bonjour

    je cherche une bonne méthode pour faire des combinaisons adéquates entre les lignes d'une matrice.
    ces combinaisons permettent d'annuler certaines variables de la matrices
    expl:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
    A=[-1 -1 1 0 0
        -1 -2 0 1 0
        1 -1 0 0 1];           % matrice du modele du systeme
    on cherche a avoir une matrice étendue Ar avec des nouveaux lignes qui sont au faites des combinaisons entre les lignes de A

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
     
    Ar=[-1 -1 1 0 0
        -1 -2 0 1 0
        1 -1 0 0 1
        0 1 1 -1 0
        0 -2 1 0 1
        0 -3 0 1 1
        1 0 -2 1 0
        2 0 -1 0 1
        -3 0 0 1 -2
        0 0 3 -2 1];
    les lignes 1,2,3 sont obtenue directement de A,
    les lignes 4,5 et 6 sont obtenue par annulation de la 1er variable,
    les lignes 7 et 8 sont obtenue par annulation de la 2eme variable,
    enfin, la 10eme ligne est obtenue en annulant la 1ere et 2eme variable simultanement

  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 302
    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 302
    Points : 52 882
    Points
    52 882
    Par défaut
    Il faudrait nous expliquer un peu plus en détail comment tu obtiens les valeurs dans les lignes 4 à 10.

    Comment obtiens-tu la valeur -3 par exemple ?
    Ingénieur indépendant en mécatronique - Conseil, conception et formation
    • Conception mécanique (Autodesk Fusion 360)
    • Impression 3D (Ultimaker)
    • Développement informatique (Python, MATLAB, C)
    • Programmation de microcontrôleur (Microchip PIC, ESP32, Raspberry Pi, Arduino…)

    « J'étais le meilleur ami que le vieux Jim avait au monde. Il fallait choisir. J'ai réfléchi un moment, puis je me suis dit : "Tant pis ! J'irai en enfer" » (Saint Huck)

  3. #3
    Membre éprouvé
    Inscrit en
    Août 2010
    Messages
    1 124
    Détails du profil
    Informations forums :
    Inscription : Août 2010
    Messages : 1 124
    Points : 1 277
    Points
    1 277
    Par défaut
    Y'a-t'il une différence avec un pivot de Gauss ?

  4. #4
    Futur Membre du Club
    Inscrit en
    Février 2011
    Messages
    12
    Détails du profil
    Informations forums :
    Inscription : Février 2011
    Messages : 12
    Points : 6
    Points
    6
    Par défaut
    Citation Envoyé par Dut Voir le message
    Il faudrait nous expliquer un peu plus en détail comment tu obtiens les valeurs dans les lignes 4 à 10.

    Comment obtiens-tu la valeur -3 par exemple ?
    les nouveaux lignes sont obtenue par des combinaisons linéaire entre les lignes de la matrice.
    j'explique:
    --> pour annuler le 1er élément de la ligne
    L4=L1-L2
    L5=L1+L3
    L6=L2+L3 (la ligne qui nous donne -3)
    --> pour annuler le 2eme élément de la ligne
    L7= -2*L1+L2
    L8= -L1+L3
    L9= L2-2*L3
    --> pour annuler le 1er et le 2eme élément de la ligne
    L10= 3*L1 -2*L2 +L3

  5. #5
    Futur Membre du Club
    Inscrit en
    Février 2011
    Messages
    12
    Détails du profil
    Informations forums :
    Inscription : Février 2011
    Messages : 12
    Points : 6
    Points
    6
    Par défaut
    Citation Envoyé par VV33D Voir le message
    Y'a-t'il une différence avec un pivot de Gauss ?
    je comprend pas ce que vous voulez dire VV33D!

  6. #6
    Rédacteur/Modérateur

    Avatar de Jerome Briot
    Homme Profil pro
    Freelance mécatronique - Conseil, conception et formation
    Inscrit en
    Novembre 2006
    Messages
    20 302
    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 302
    Points : 52 882
    Points
    52 882
    Par défaut
    Il suffit de remplacer :

    par

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Ar(4,:) = A(1,:)-A(2,:);
    Ingénieur indépendant en mécatronique - Conseil, conception et formation
    • Conception mécanique (Autodesk Fusion 360)
    • Impression 3D (Ultimaker)
    • Développement informatique (Python, MATLAB, C)
    • Programmation de microcontrôleur (Microchip PIC, ESP32, Raspberry Pi, Arduino…)

    « J'étais le meilleur ami que le vieux Jim avait au monde. Il fallait choisir. J'ai réfléchi un moment, puis je me suis dit : "Tant pis ! J'irai en enfer" » (Saint Huck)

  7. #7
    FLB
    FLB est déconnecté
    Modérateur
    Avatar de FLB
    Homme Profil pro
    Ing. Aérospatiale
    Inscrit en
    Juin 2003
    Messages
    770
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 35
    Localisation : France

    Informations professionnelles :
    Activité : Ing. Aérospatiale
    Secteur : Aéronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : Juin 2003
    Messages : 770
    Points : 1 185
    Points
    1 185
    Par défaut
    Citation Envoyé par hassen_be Voir le message
    je comprend pas ce que vous voulez dire VV33D!
    Les opérations visant à annuler des termes d'une matrice par combinaison linéaire de lignes, tels que tu les fais, sont utilisés dans l'élimination de Gauss-Jordan, aussi appelé Pivot de Gauss. C'est une méthode classique permettant d'inverser facilement une matrice à la main.

  8. #8
    Futur Membre du Club
    Inscrit en
    Février 2011
    Messages
    12
    Détails du profil
    Informations forums :
    Inscription : Février 2011
    Messages : 12
    Points : 6
    Points
    6
    Par défaut
    Citation Envoyé par Dut Voir le message
    Il suffit de remplacer :

    par

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Ar(4,:) = A(1,:)-A(2,:);
    merci pour votre réponse Dut, mais c'est que je cherche c'est un programme qui détecte automatiquement les combinaison et qu'il les exécute.
    ce que je viens de donner c'est un exemple d'une petite matrice, dont les combinaisons sont repérable facilement!)

  9. #9
    Futur Membre du Club
    Inscrit en
    Février 2011
    Messages
    12
    Détails du profil
    Informations forums :
    Inscription : Février 2011
    Messages : 12
    Points : 6
    Points
    6
    Par défaut
    Citation Envoyé par FLB Voir le message
    Les opérations visant à annuler des termes d'une matrice par combinaison linéaire de lignes, tels que tu les fais, sont utilisés dans l'élimination de Gauss-Jordan, aussi appelé Pivot de Gauss. C'est une méthode classique permettant d'inverser facilement une matrice à la main.
    c'est bien ça que je cherche!.. la méthode du pivot de gauss que je sais bien la pratiqué manuellement et j'ai besoin là d'un algorithme qui a partir d'une matrice quelconque de dimension mxn, il me génère toutes les combinaisons possible autour de chaque pivot pour avoir a la fin une matrice augmentée (matrice initiale + toutes les combinaisons)

  10. #10
    FLB
    FLB est déconnecté
    Modérateur
    Avatar de FLB
    Homme Profil pro
    Ing. Aérospatiale
    Inscrit en
    Juin 2003
    Messages
    770
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 35
    Localisation : France

    Informations professionnelles :
    Activité : Ing. Aérospatiale
    Secteur : Aéronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : Juin 2003
    Messages : 770
    Points : 1 185
    Points
    1 185
    Par défaut
    Dans ce cas je te conseille de partir de l'algorithme du pivot que tu connais bien (tu peux commencer par lire le code proposé sur le fex), et de l'écrire dans le cas plus générale qui t'intéresse : je ne pense pas que tu puisses trouver un tel algorithme déjà existant sur le net.
    Si tu bloques sur des points précis, n'hésite pas à poser des questions sur le forum.

  11. #11
    Futur Membre du Club
    Inscrit en
    Février 2011
    Messages
    12
    Détails du profil
    Informations forums :
    Inscription : Février 2011
    Messages : 12
    Points : 6
    Points
    6
    Par défaut
    Citation Envoyé par FLB Voir le message
    Dans ce cas je te conseille de partir de l'algorithme du pivot que tu connais bien (tu peux commencer par lire le code proposé sur le fex), et de l'écrire dans le cas plus générale qui t'intéresse : je ne pense pas que tu puisses trouver un tel algorithme déjà existant sur le net.
    Si tu bloques sur des points précis, n'hésite pas à poser des questions sur le forum.
    Oops! c'est facile de dire ça! mais réellement je trouve des difficultés a y faire!
    j'ai consulté le code que vous m'avez proposé ainsi que d'autres, et je ne trouve pas ça évident de tout!!

Discussions similaires

  1. Réponses: 8
    Dernier message: 09/07/2006, 14h42
  2. Stockage de lignes dans une matrice
    Par S4sha dans le forum MATLAB
    Réponses: 3
    Dernier message: 11/06/2006, 14h03
  3. Tracer une ligne dans une matrice
    Par S4sha dans le forum MATLAB
    Réponses: 4
    Dernier message: 30/05/2006, 15h10
  4. chercher un tableau dans une matrice
    Par devdébuto dans le forum C
    Réponses: 12
    Dernier message: 11/12/2005, 01h26
  5. angles possibles dans une matrice
    Par bigbill dans le forum Algorithmes et structures de données
    Réponses: 3
    Dernier message: 05/05/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