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 :

création d'une matrice N*N


Sujet :

Calcul scientifique Python

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Femme Profil pro
    Étudiant
    Inscrit en
    Avril 2017
    Messages
    21
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France, Hauts de Seine (Île de France)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Avril 2017
    Messages : 21
    Par défaut création d'une matrice N*N
    Bonsoir,
    je voulais crée une matrice M sur python de cette forme :
    Étant donné un vecteur numpy x = np.array([x_0, x_1, ..., x_(n-1)])
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
            [ x_0                x_1         ...    x_(n-1)       ]
            [(x_1)^2          (x_2)^2   ...   (x_0)^2      ]
     M = [(x_2)^3          (x_3)^3   ...   (x_1)^3      ]
            [ ..............................………………………...     ]
            [(x_(n-1)^n     (x_0)^n   ...    (x_(n-2)^n ]
    chaque ligne de la matrice M s'obtient en augmentant de 1 la puissance à laquelle est élevé chaque élément et en déplaçant les éléments d'une colonne à gauche de façon cyclique (le premier terme à gauche devient le dernier)
    j'ai essaie avec ce code mais ça marche pas :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    import numpy as np
    def matrice(N):
        v=np.ones(N)
        for i in range(0,n):
            X=np.arange(x[i],x[n-i])
            for j in range(1,N):
                for i in X:
                    v[j:]=X[i]**j
        return v

    et x est donné ==> x = np.array([1.,-3.,2.,-2.,2.])

    MERCI POUR VOTRE AIDE.

  2. #2
    Expert éminent
    Homme Profil pro
    Architecte technique retraité
    Inscrit en
    Juin 2008
    Messages
    21 752
    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 752
    Par défaut
    Salut,

    Citation Envoyé par MAtatima Voir le message
    j'ai essaie avec ce code mais ça marche pas
    Essayez de simplifier le problème en commençant par créer un array NxN et en remplissant chaque "ligne" par le vecteur x à la puissance correspondante.
    Un fois que vous aurez fait çà, pour permuter vous avez np.roll.

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

  3. #3
    Membre averti
    Femme Profil pro
    Étudiant
    Inscrit en
    Avril 2017
    Messages
    21
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France, Hauts de Seine (Île de France)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Avril 2017
    Messages : 21
    Par défaut
    salut,
    Merci pour votre réponse.
    je sais pas comment écrire mon x de cette forme
    Code python : Sélectionner tout - Visualiser dans une fenêtre à part
    x=np.array([x_0, x_1, x_2,......,x_(n-1)])

  4. #4
    Expert éminent
    Homme Profil pro
    Architecte technique retraité
    Inscrit en
    Juin 2008
    Messages
    21 752
    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 752
    Par défaut
    Citation Envoyé par MAtatima Voir le message
    je sais pas comment écrire mon x de cette forme
    Code python : Sélectionner tout - Visualiser dans une fenêtre à part
    x=np.array([x_0, x_1, x_2,......,x_(n-1)])
    Relisez votre premier post, x vous est donné.

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

  5. #5
    Membre averti
    Femme Profil pro
    Étudiant
    Inscrit en
    Avril 2017
    Messages
    21
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France, Hauts de Seine (Île de France)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Avril 2017
    Messages : 21
    Par défaut
    Citation Envoyé par wiztricks Voir le message
    Relisez votre premier post, x vous est donné.

    - W
    ok d'accord
    pour créer ma matrice j'ai fait ça :
    Code python : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    x=np.array([1.,-3.,2.,-2.,2.])
    N=len(x)
    M=np.ones((N,N), dtype=int)
     
    for i in range(0,len(x)):
        for j in range(1,len(x)-1):
            M[i,:]=x**j
    print(M)
    mais il m'affiche ça :

    Code python : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    [[  1 -27   8  -8   8]
     [  1 -27   8  -8   8]
     [  1 -27   8  -8   8]
     [  1 -27   8  -8   8]
     [  1 -27   8  -8   8]]
    je sais pas où est le problème

  6. #6
    Membre averti
    Femme Profil pro
    Étudiant
    Inscrit en
    Avril 2017
    Messages
    21
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France, Hauts de Seine (Île de France)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Avril 2017
    Messages : 21
    Par défaut
    c'est j'ai réussi à remplir ma matrice il me reste qu'a permuté

    Code python : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    x=np.array([1.,-3.,2.,-2.,2.])
    N=len(x)
    M=np.ones((N,N), dtype=int)
    for i in range(0,len(x)):
        M[i,:]=x**(i+1)
    print(M)
    ça me donne :
    Code python : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    [[   1   -3    2   -2    2]
     [   1    9    4    4    4]
     [   1  -27    8   -8    8]
     [   1   81   16   16   16]
     [   1 -243   32  -32   32]]

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

Discussions similaires

  1. Réponses: 5
    Dernier message: 07/06/2007, 12h22
  2. [Débutant] Création d'une matrice de confusion
    Par Alucard9800XT dans le forum MATLAB
    Réponses: 4
    Dernier message: 15/05/2007, 09h19
  3. [TP] Création d'une matrice
    Par amine6441 dans le forum Turbo Pascal
    Réponses: 1
    Dernier message: 03/03/2007, 16h20
  4. Réponses: 6
    Dernier message: 07/02/2007, 15h03
  5. Création d'une matrice d'entiers
    Par fleur de nostalgie dans le forum C
    Réponses: 6
    Dernier message: 21/12/2006, 14h17

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