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

Calcul scientifique Python Discussion :

Transposition d'une matrice avec Python : diférence entre deux programmes


Sujet :

Calcul scientifique Python

Mode arborescent

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Nouveau candidat au Club
    Homme Profil pro
    Enseignant
    Inscrit en
    Janvier 2019
    Messages
    2
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Enseignant
    Secteur : Enseignement

    Informations forums :
    Inscription : Janvier 2019
    Messages : 2
    Par défaut Transposition d'une matrice avec Python : diférence entre deux programmes
    Bonjour,
    Je sollicite une aide car je n'ai vraiment pas trouvé de réponse après de longues recherches au fait que deux programmes sur Python ayant pour objectif la transposition d'une matrice donnent des résultats différents : l'un fonctionne parfaitement (le premier) et renvoie bien la matrice transposée à celle qui en entrée de la fonction ; l'autre programme renvoie une matrice qui n'est pas la transposée de celle en entrée de la fonction. Voici les deux programmes : (les Fichiers programmes sont en pièces jointes).

    Premier programme (celui qui fonctionne parfaitement et renvoie bien la matrice transposée) :
    -------------------------------------------------------------------------------------------------------------
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    def transpose(B): #Entree : une matrice ; Sortie: la matrice transposée de celle en entrée.
        a=range(len(B))  #liste de 0 au ((nombre de lignes de la matrice B)-1)
        b=range(len(B[0])) #liste de 0 au ((nombre de colonnes de la matrice B) -1)
        Z=[[0 for i in a] for j in b] #génération d'une matrice nulle de dimensions de la transposée de B
        print(Z)  # impression de la matrice Z de la ligne précédente pour vérification
        for i in a:
            for j in b:
                Z[j][i]= B[i][j] # détermination des coefficents de la matrice transposée de B 
        return(Z)
    ------------------------------------------------------------------------------------------------------
    Second programme (celui qui ne renvoie pas la matrice transposée, j'ignore pourquoi):
    ----------------------------------------------------------------------------------------------------------
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    def transposecarre(B): #Entree : une matrice ; Sortie: la matrice transposée de celle en entrée.
        a=range(len(B)) #liste de 0 au ((nombre de lignes de la matrice B)-1)
        b=range(len(B[0])) #liste de 0 au ((nombre de colonnes de la matrice B) -1)
        Z=[[0]*len(B)]*len(B[0]) #génération d'une matrice nulle de dimensions de la transposée de B
        print(Z)  # impression de la matrice Z de la ligne précédente pour vérification
        for i in a:
            for j in b:
                Z[j][i]= B[i][j]  # détermination des coefficents de la matrice transposée de B 
        return(Z)
    -------------------------------------------------------------------------------------------------------------
    Remarque : la matrice nulle Z générée est la même dans les deux programmes , la suite des deux programmes est identique. Alors, pourquoi le second programme ne renvoie pas la matrice transposée de celle en entrée ? (ce qui est bien le cas du premier programme).
    Je vous remercie d'avance pour vos explications.
    Bonne journée.
    Fichiers attachés Fichiers attachés

Discussions similaires

  1. Réponses: 16
    Dernier message: 17/11/2008, 13h46
  2. Créer une matrice avec TImage
    Par yann87 dans le forum Langage
    Réponses: 4
    Dernier message: 16/04/2008, 16h42
  3. Calculer une matrice avec la méthode de EULER
    Par lematlabeur dans le forum MATLAB
    Réponses: 7
    Dernier message: 05/11/2007, 18h22
  4. Redimensionner une matrice avec "reshape"
    Par kmaniche dans le forum Images
    Réponses: 9
    Dernier message: 07/06/2006, 18h35
  5. cmt se connecté a oracle pour faire une requete avec python
    Par dipajero dans le forum Bibliothèques tierces
    Réponses: 6
    Dernier message: 28/12/2005, 20h22

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