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

Algorithmes et structures de données Discussion :

[Fortran 90] Algorithme Gauss_Siedel


Sujet :

Algorithmes et structures de données

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre à l'essai
    Profil pro
    Inscrit en
    Février 2008
    Messages
    6
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2008
    Messages : 6
    Par défaut [Fortran 90] Algorithme Gauss_Siedel
    Bonjour, je dois réaliser la résolution du système Ax=B
    Je n'ai que cette formule :
    Je ne comprend pas la methode
    La matrice doit être une 4X4, il doit y avoir 2871 itération max, et une précision de 0.1
    J'ai déjà réussi a coder le pivot de gauss et la méthode LU pour résoudre ce système, mais j'ai aucune idée Pour celle ci
    merci de votre aide

  2. #2
    Membre éprouvé
    Profil pro
    Inscrit en
    Avril 2007
    Messages
    103
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2007
    Messages : 103
    Par défaut
    On en parle dans cette discussion et plus particulièrement ce site

  3. #3
    Membre à l'essai
    Profil pro
    Inscrit en
    Février 2008
    Messages
    6
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2008
    Messages : 6
    Par défaut
    merci

  4. #4
    Membre éprouvé
    Profil pro
    Inscrit en
    Avril 2007
    Messages
    103
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2007
    Messages : 103
    Par défaut
    Je suis sûr que ta formule n'est pas équivalente à ce qui est présentée mais par une pirouette magique on y arrive !

    En effet la formule ne marche que si tous les Aii sont non nuls (bah ouaih c'est con, mais sinon ça marche poâ). La stratégie consiste à ne pas prendre la matrice A initiale mais une permutation de ces lignes (qu'on applique aussi à b sinon ça marche poâ non plus) et de ces colonnes (qu'on applique aussi à x sinon ça marche tjrs poâ ou alors t'es vraiment moulu) qui respecte la propriété A'ii non nul pour tt i. Le pb est qu'on arrive pas à le faire avec n'importe quel A (exemple si A a des 1 dans la 1ère colonne et des 0 ailleurs mais bon c'est un cas simple) mais là faut que je réfléchisse plus.
    Qd on a obtenu A' on découpe A' en M+N avec M triangulaire inférieure inversible (normal car la diagonale de A' a que des coef non nuls) et N triangulaire supérieure stricte.

    On remplace l'équation A'.x'=b' par M.x'(k)+N.x'(k-1)=b' qui se transforme en
    M.x'(k) = b' - N.x'(k-1) qui est un système triangulaire inférieure pour x'(k) qui devient la formule que tu as donné qd résout le système !

  5. #5
    Membre à l'essai
    Profil pro
    Inscrit en
    Février 2008
    Messages
    6
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2008
    Messages : 6
    Par défaut
    J'ai une question dans cette formule l'itération apparait, comment coder une itération: quand je déclare X, real*4 X(4)
    je souhaiterais lui imposer un indice ex X(I)(K+1), K+1 étant l'ordre de l'itération
    merci de votre aide

  6. #6
    Membre éprouvé
    Profil pro
    Inscrit en
    Avril 2007
    Messages
    103
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2007
    Messages : 103
    Par défaut
    Citation Envoyé par renard2guerre Voir le message
    J'ai une question dans cette formule l'itération apparait, comment coder une itération: quand je déclare X, real*4 X(4)
    je souhaiterais lui imposer un indice ex X(I)(K+1), K+1 étant l'ordre de l'itération
    merci de votre aide
    Avec un tableau ? Sauf si c'est un besoin, cela ne sert à rien (pour l'algo) de stocker toutes les itérations, il suffit de stocker uniquement l'itération k et k-1 qd tu calcules x(k) ... et encore en regardant bien tu peux diviser ça par 2 (avec une pseudo fenetre glissante) sauf si tu décides que ton critère d'arrêt de tes itérations est qd la distance entre 2 itérés est inférieure à une borne.

    Real*4 X(4), ça veut dire quoi et surtout dans quel langage ? Matlab ?

Discussions similaires

  1. Algorithme du Voyageur de Commerce ou TSP en FORTRAN
    Par MINOTE dans le forum Fortran
    Réponses: 0
    Dernier message: 20/12/2009, 10h30
  2. algorithme simpler en fortran
    Par arriftou dans le forum Mathématiques
    Réponses: 8
    Dernier message: 05/05/2009, 08h26
  3. Réponses: 3
    Dernier message: 19/01/2009, 14h10
  4. Réponses: 6
    Dernier message: 21/09/2007, 14h18
  5. [FORTRAN] Ellipse fitting algorithm
    Par souviron34 dans le forum Contribuez
    Réponses: 4
    Dernier message: 04/07/2007, 16h06

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