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

Mathématiques Discussion :

pgm pour définir une matrice


Sujet :

Mathématiques

  1. #1
    Candidat au Club
    Inscrit en
    Mars 2009
    Messages
    10
    Détails du profil
    Informations forums :
    Inscription : Mars 2009
    Messages : 10
    Points : 2
    Points
    2
    Par défaut pgm pour définir une matrice
    svp j cherche à faire un petit programme qui peut me servir pour ecrire une matrice qui n a que les 3 diagonales une en haut de la diagonale et une au dessous qui ne sont pa nulles et les autres toutes nulles

    elle peut s écrire à partir de ces calculs:

    kr+1,r=-kr+1 r=1,...,N-1
    kr,r=(kr+kr+1) r=1,...,N kr-1,r=-kr r=2,..,N
    le critère de symétrie est vérifié kij=kji et Les autres valeurs des kij sont égales à zéro


    svp aider moi à le faire et j espere qe ma question est claire
    merci bcp

  2. #2
    Membre à l'essai
    Profil pro
    Inscrit en
    Janvier 2009
    Messages
    43
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2009
    Messages : 43
    Points : 20
    Points
    20
    Par défaut
    Pour matrice a n dimension :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    POUR i = 0 A n FAIRE
    |    SI I = 0 ALORS
    |    |    k(i,i) = val
    |    |    k(i+1,i) = val
    |    SINON SI I= n ALORS
    |    |    k(i,i-1) = val
    |    |    k(i,i) = val
    |    SINON
    |    |    k(i,i-1) = val
    |    |    k(i,i) = val
    |    |    k(i,i+1) = val
    |    FIN SI
    FIN POUR
    ou bien

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
     
    k(0,0) = val
    k(1,0) = val
    POUR i = 1 A n - 1 FAIRE
    |    k(i-1,i) = val
    |    k(i,i) = val
    |    k(i+1,i) = val
    FIN POUR
    k(n-1, n) = val
    k(n, n) = val

  3. #3
    Candidat au Club
    Inscrit en
    Mars 2009
    Messages
    10
    Détails du profil
    Informations forums :
    Inscription : Mars 2009
    Messages : 10
    Points : 2
    Points
    2
    Par défaut merci pr votre rep
    dslé ça n a pa marché en plus j ai l pgm en anglais et ma matrice est comme suit par exemple :
    (k1+k2) -k2 0 0 0
    -k2 (k2+k3) -k3 0 0
    0 -k3 (k3+k4) -k4 0
    0 0 -k4 (k4+k5) -k5
    0 0 0 -k5 (k6+k7)

    j vous ai donné un simple exemple pr 5 mais en fait elle est d ordre N

    j espere qe j ai bien eclaircit les choses j suis nulle en matlab mais j travaille avec

  4. #4
    Rédacteur

    Homme Profil pro
    Comme retraité, des masses
    Inscrit en
    Avril 2007
    Messages
    2 978
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 83
    Localisation : Suisse

    Informations professionnelles :
    Activité : Comme retraité, des masses
    Secteur : Industrie

    Informations forums :
    Inscription : Avril 2007
    Messages : 2 978
    Points : 5 179
    Points
    5 179
    Par défaut
    Salut!
    Ne serait-ce pas plutôt:
    (k1+k2) -k2 0 0 0
    -k2 (k2+k3) -k3 0 0
    0 -k3 (k3+k4) -k4 0
    0 0 -k4 (k4+k5) -k5
    0 0 0 -k5 (k5+k6)

    Essaie quelque-chose comme ceci:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
     
          Do I=1,N
            Do J=1,N
              A(I,J)=0.d0
            End Do
          End Do
    C
          Do I=1,N
            A(I,I)=K(I)+K(I+1)
            If (I.Lt.N) Then
              A(I,I+1)=-K(I+1)
              A(I+1,I)=-K(I+1)
            End If
          End Do
    Jean-Marc Blanc
    Calcul numérique de processus industriels
    Formation, conseil, développement

    Point n'est besoin d'espérer pour entreprendre, ni de réussir pour persévérer. (Guillaume le Taiseux)

  5. #5
    Candidat au Club
    Inscrit en
    Mars 2009
    Messages
    10
    Détails du profil
    Informations forums :
    Inscription : Mars 2009
    Messages : 10
    Points : 2
    Points
    2
    Par défaut dslé
    dslé de vous dire qe tjs n a pa marché j l ai essayé pur N=5 comme exemple et voilà ce qe j ai fait et voilà ce qe j ai obtenu :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
     
    >> Do I=1,5
            Do J=1,5
              A(I,J)=0.d0
            End Do
          End Do
    C
          Do I=1,5
            A(I,I)=K(I)+K(I+1)
            If (I.Lt.5) Then
              A(I,I+1)=-K(I+1)
              A(I+1,I)=-K(I+1)
            End If
          End Do
    ??? Undefined function or method 'Do' for input arguments of type 'char'.
    merci encore

  6. #6
    Rédacteur

    Homme Profil pro
    Comme retraité, des masses
    Inscrit en
    Avril 2007
    Messages
    2 978
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 83
    Localisation : Suisse

    Informations professionnelles :
    Activité : Comme retraité, des masses
    Secteur : Industrie

    Informations forums :
    Inscription : Avril 2007
    Messages : 2 978
    Points : 5 179
    Points
    5 179
    Par défaut
    Salut!
    voilà ce qe j ai fait et voilà ce qe j ai obtenu
    Avec quel compilateur? Pour ton information, ce code est du Fortran.
    Jean-Marc Blanc
    Calcul numérique de processus industriels
    Formation, conseil, développement

    Point n'est besoin d'espérer pour entreprendre, ni de réussir pour persévérer. (Guillaume le Taiseux)

  7. #7
    Rédacteur
    Avatar de pseudocode
    Homme Profil pro
    Architecte système
    Inscrit en
    Décembre 2006
    Messages
    10 062
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 51
    Localisation : France, Hérault (Languedoc Roussillon)

    Informations professionnelles :
    Activité : Architecte système
    Secteur : Industrie

    Informations forums :
    Inscription : Décembre 2006
    Messages : 10 062
    Points : 16 081
    Points
    16 081
    Par défaut
    Citation Envoyé par FR119492 Voir le message
    Avec quel compilateur? Pour ton information, ce code est du Fortran.
    Vu le message d'erreur, ca doit être du Matlab.
    ALGORITHME (n.m.): Méthode complexe de résolution d'un problème simple.

  8. #8
    Candidat au Club
    Inscrit en
    Mars 2009
    Messages
    10
    Détails du profil
    Informations forums :
    Inscription : Mars 2009
    Messages : 10
    Points : 2
    Points
    2
    Par défaut
    oui c est sur matlab effectivement

  9. #9
    Rédacteur

    Homme Profil pro
    Comme retraité, des masses
    Inscrit en
    Avril 2007
    Messages
    2 978
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 83
    Localisation : Suisse

    Informations professionnelles :
    Activité : Comme retraité, des masses
    Secteur : Industrie

    Informations forums :
    Inscription : Avril 2007
    Messages : 2 978
    Points : 5 179
    Points
    5 179
    Par défaut
    Salut!
    Alors, traduis Do par for
    Jean-Marc Blanc
    Calcul numérique de processus industriels
    Formation, conseil, développement

    Point n'est besoin d'espérer pour entreprendre, ni de réussir pour persévérer. (Guillaume le Taiseux)

  10. #10
    Candidat au Club
    Inscrit en
    Mars 2009
    Messages
    10
    Détails du profil
    Informations forums :
    Inscription : Mars 2009
    Messages : 10
    Points : 2
    Points
    2
    Par défaut
    dslé de vs annoncer qe tjs rien j ai traduit do par for et ça n a pa marché voilà ce qe j ai fait et ce que j ai trouvé :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    For I=1,5
            For J=1,5
              A(I,J)=0.d0
            End For
          End For
    C
          For I=1,5
            A(I,I)=K(I)+K(I+1)
            If (I.Lt.5) Then
              A(I,I+1)=-K(I+1)
              A(I+1,I)=-K(I+1)
            End If
          End For
    ??? Attempt to execute SCRIPT for as a function:
    C:\Program Files\MATLAB\R2007a\toolbox\matlab\lang\for.m

  11. #11
    Rédacteur

    Homme Profil pro
    Comme retraité, des masses
    Inscrit en
    Avril 2007
    Messages
    2 978
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 83
    Localisation : Suisse

    Informations professionnelles :
    Activité : Comme retraité, des masses
    Secteur : Industrie

    Informations forums :
    Inscription : Avril 2007
    Messages : 2 978
    Points : 5 179
    Points
    5 179
    Par défaut
    Salut!
    sur matlab effectivement
    Au fait, quelles notions de Matlab as-tu? La moindre des choses serait de savoir que
    • Matlab est sensible à la casse.
    • Les limites d'un intervalle sont séparées par : .

    Tu dois donc écrire
    Jean-Marc Blanc
    Calcul numérique de processus industriels
    Formation, conseil, développement

    Point n'est besoin d'espérer pour entreprendre, ni de réussir pour persévérer. (Guillaume le Taiseux)

  12. #12
    Candidat au Club
    Inscrit en
    Mars 2009
    Messages
    10
    Détails du profil
    Informations forums :
    Inscription : Mars 2009
    Messages : 10
    Points : 2
    Points
    2
    Par défaut
    j ai matlab 2007
    tjs n marche pa chez moi! voilà ce qe j ai fait et voilà l erreur
    for I=1:5
    for J=1:5
    A(I,J)=0.d0
    end for
    end for
    C
    for I=1:5
    A(I,I)=K(I)+K(I+1)
    if (I.Lt.5) Then
    A(I,I+1)=-K(I+1)
    A(I+1,I)=-K(I+1)
    end if

    ??? end for
    |
    Error: Illegal use of reserved keyword "for".

    >>

  13. #13
    Rédacteur

    Homme Profil pro
    Comme retraité, des masses
    Inscrit en
    Avril 2007
    Messages
    2 978
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 83
    Localisation : Suisse

    Informations professionnelles :
    Activité : Comme retraité, des masses
    Secteur : Industrie

    Informations forums :
    Inscription : Avril 2007
    Messages : 2 978
    Points : 5 179
    Points
    5 179
    Par défaut
    Salut!
    Cette instruction n'existe pas dans Matlab.
    Cette instruction n'existe pas dans Matlab.
    Cette instruction n'existe pas dans Matlab.

    Tout en haut de ta fenêtre Matlab, c'est écrit Help. Si tu cliquais à cet endroit, tu apprendrais peut-être des choses intéressantes.
    Jean-Marc Blanc
    Calcul numérique de processus industriels
    Formation, conseil, développement

    Point n'est besoin d'espérer pour entreprendre, ni de réussir pour persévérer. (Guillaume le Taiseux)

Discussions similaires

  1. Réponses: 3
    Dernier message: 03/03/2008, 15h29
  2. Réponses: 18
    Dernier message: 24/07/2006, 19h30
  3. Définir une Matrice
    Par aliassaf dans le forum Général Python
    Réponses: 2
    Dernier message: 19/07/2006, 18h46
  4. [LG] Problème pour afficher une matrice
    Par phoebee dans le forum Langage
    Réponses: 4
    Dernier message: 11/08/2005, 21h41
  5. [PL/SQL] définir une matrice
    Par lalystar dans le forum Oracle
    Réponses: 5
    Dernier message: 22/02/2005, 15h27

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