Publicité
+ Répondre à la discussion
Affichage des résultats 1 à 7 sur 7
  1. #1
    Invité de passage
    Homme Profil pro
    Inscrit en
    mai 2011
    Messages
    24
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations forums :
    Inscription : mai 2011
    Messages : 24
    Points : 2
    Points
    2

    Par défaut [Numpy] Construction de matrice

    Bonjour, j'essaie de faire une matrice comme ceci:




    Pour construire ma matrice avec seulement des 1
    Code :
    1
    2
    3
    4
    5
    x = [2,3,4,5]
     n = len(x)
    m = 4
    import numpy
    X = numpy.ones((n,m+1))

    Pour rentrer mes valeurs dans matrice avec une boucle imbriquée

    Code :
    1
    2
    3
    4
     
    for i in range(0,n):
    	for j in range(0,m):
    		X[i,j] = x[i]**m
    Mais ça ne fonctionne pas.
    Comment pourrais-je aborder le problème ou comment pourrais-je faire.

    Merci

  2. #2
    Membre Expert
    Avatar de fred1599
    Homme Profil pro Fred
    Enseignant
    Inscrit en
    juillet 2006
    Messages
    1 801
    Détails du profil
    Informations personnelles :
    Nom : Homme Fred
    Localisation : France, Meurthe et Moselle (Lorraine)

    Informations professionnelles :
    Activité : Enseignant
    Secteur : Enseignement

    Informations forums :
    Inscription : juillet 2006
    Messages : 1 801
    Points : 2 440
    Points
    2 440
    Celui qui trouve sans chercher est celui qui a longtemps cherché sans trouver.(Bachelard)
    La connaissance s'acquiert par l'expérience, tout le reste n'est que de l'information.(Einstein)

  3. #3
    Invité de passage
    Homme Profil pro
    Inscrit en
    mai 2011
    Messages
    24
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations forums :
    Inscription : mai 2011
    Messages : 24
    Points : 2
    Points
    2

    Par défaut

    Je comprends le principe avec

    Code :
    1
    2
    for i in range(0,n):
        X[i,1] = x[i]
    Que je peux décaler avec la valeur à côté de i (1,2,3,4).
    C'est de faire une boucle imbriqué pour remplacé 1 que j'ai de la difficulté.

    Merci

  4. #4
    Membre Expert
    Homme Profil pro
    Inscrit en
    mars 2007
    Messages
    895
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations forums :
    Inscription : mars 2007
    Messages : 895
    Points : 1 196
    Points
    1 196

    Par défaut

    Regarde ce que te donne ton code du premier post. Comprends-tu pourquoi tu obtiens ce résultat ? Il y a deux petites erreur...

  5. #5
    Invité de passage
    Homme Profil pro
    Inscrit en
    mai 2011
    Messages
    24
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations forums :
    Inscription : mai 2011
    Messages : 24
    Points : 2
    Points
    2

    Par défaut

    Code :
    1
    2
    3
    4
     
    for i in range(0,n):
    	for j in range(0,m):
    		X[i,j] = x[i]**m
    À la base je sais que x[i]**m ne me retournera pas la bonne chose puisque m est égale à 4 dans tous les cas.

    Ensuite, il n'est pas logique que mon range soit de (0,m) pour j puisque je veux une ligne de 1.

  6. #6
    Membre Expert
    Homme Profil pro
    Inscrit en
    mars 2007
    Messages
    895
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations forums :
    Inscription : mars 2007
    Messages : 895
    Points : 1 196
    Points
    1 196

    Par défaut

    OK, tu as bien vu cela, maintenant c'est facile à corriger. Au lieu de m, tu dois utiliser une valeur qui varie de 0 à 4. En as-tu une sous la main ? "j" bien sûr. Sauf que j varie de 0 à 3. Il faut donc modifier la boucle pour qu'il varie de 0 à 4:
    Code :
    1
    2
    3
    for i in range(0,n):
        for j in range(0,m+1):
            X[i,j] = x[i]**j
    Comme x[i]**0 donne 1 quelque soit la valeur de x[i], c'est ça qui te donnera la colonne de 1.

  7. #7
    Invité de passage
    Homme Profil pro
    Inscrit en
    mai 2011
    Messages
    24
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations forums :
    Inscription : mai 2011
    Messages : 24
    Points : 2
    Points
    2

    Par défaut

    Merci !

+ Répondre à la discussion
Cette discussion est résolue.

Liens sociaux

Règles de messages

  • Vous ne pouvez pas créer de nouvelles discussions
  • Vous ne pouvez pas envoyer des réponses
  • Vous ne pouvez pas envoyer des pièces jointes
  • Vous ne pouvez pas modifier vos messages
  •