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

Python Discussion :

Produit de deux matrices de taille 3 X 3.


Sujet :

Python

  1. #1
    Débutant  
    Profil pro
    Inscrit en
    Novembre 2003
    Messages
    1 122
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2003
    Messages : 1 122
    Points : 189
    Points
    189
    Par défaut Produit de deux matrices de taille 3 X 3.
    Bonsoir

    Je souhaite réaliser un script pour calculer le produit de deux matrices.

    Voici le code:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
     
     A = [[-1, 0, 0], [-1, 1, 1], [1, 0, 1]]
     B = [[-1, 1, 1], [-2, 0, 1], [0, 3, 1]]
     
        for i in range(len(A)):
            for j in range(len(B[0])):
                for k in range(len(B)):
                    C[i][j] += A[i][k] * B[k][j]
     
        for line in C:
            for e in line:
                print(e, end='\t')
    Voici l'erreur:

    C[i][j] += A[i][k] * B[k][j]
    NameError: name 'C' is not defined
    Je ne comprend pas, la matrice C est déclarée dans la boucle k.

    A bientôt
    je suis un développeur debutant qui cherche à comprendre.

    Certain livre sont pas facile à comprendre.

  2. #2
    Expert éminent sénior
    Avatar de Sve@r
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Février 2006
    Messages
    12 679
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Oise (Picardie)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : Aéronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : Février 2006
    Messages : 12 679
    Points : 30 966
    Points
    30 966
    Billets dans le blog
    1
    Par défaut
    Bonsoir
    Citation Envoyé par argon Voir le message
    Je ne comprend pas, la matrice C est déclarée dans la boucle k.
    Tu ne la déclares pas, tu tentes juste de modifier l'une de ses cases, case qui n'existe pas, en utilisant cette même case, case qui n'existe pas plus. Déjà d'une part, dans tout ce qui est tableau/tuple tu ne peux pas accéder à C[i] si "C" n'existe pas (ou n'est pas du bon type). Et tu ne peux pas accéder à C[i][j] si "C[i]" n'existe pas (ou n'est pas du bon type). Ce qui ressemble à des tableaux multi-dimensionnels est en réalité un tableau de tableaux.
    Et d'autre part, de façon générale, l'instruction x+=n est un raccourci de x=x+n. Et comme dans une affectation on commence par exécuter ce qui se trouve à droite pour ensuite le copier à gauche, on voit bien qu'il faut que "x" existe pour pouvoir être additionné à "n".
    Donc trois erreurs en une instruction (tenter d'utiliser une case qui n'existe pas d'une variable qui n'existe pas pour modifier une case qui n'existe pas).
    Mon Tutoriel sur la programmation «Python»
    Mon Tutoriel sur la programmation «Shell»
    Sinon il y en a pleins d'autres. N'oubliez pas non plus les différentes faq disponibles sur ce site
    Et on poste ses codes entre balises [code] et [/code]

  3. #3
    Expert éminent sénior
    Homme Profil pro
    Architecte technique retraité
    Inscrit en
    Juin 2008
    Messages
    21 276
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Manche (Basse Normandie)

    Informations professionnelles :
    Activité : Architecte technique retraité
    Secteur : Industrie

    Informations forums :
    Inscription : Juin 2008
    Messages : 21 276
    Points : 36 761
    Points
    36 761
    Par défaut
    Citation Envoyé par argon Voir le message
    Je ne comprend pas, la matrice C est déclarée dans la boucle k.
    Si Python dit que la variable globale C n'existe pas, c'est que vous n'avez rien assigné à C avant d'arriver à l'instruction qui plante.
    Et s'il y a à comprendre quelque chose c'est comment sont créées les variables avec Python (ce qui est basique).

    - W
    Architectures post-modernes.
    Python sur DVP c'est aussi des FAQs, des cours et tutoriels

Discussions similaires

  1. Produit de deux matrices
    Par informaticienne_ing dans le forum Assembleur
    Réponses: 1
    Dernier message: 03/05/2009, 00h51
  2. Produits de deux matrices
    Par pampouna302 dans le forum C
    Réponses: 1
    Dernier message: 09/03/2009, 17h27
  3. Algorithme qui fait le produit de deux matrices
    Par ApprentiDeveloppeur dans le forum Algorithmes et structures de données
    Réponses: 3
    Dernier message: 12/11/2008, 16h32
  4. produit de deux matrices
    Par reckahomis1 dans le forum C
    Réponses: 5
    Dernier message: 28/10/2007, 21h25

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