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 :

Manipulation de matrice


Sujet :

Python

  1. #1
    Nouveau Candidat au Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Octobre 2019
    Messages
    2
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 25
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Étudiant
    Secteur : Finance

    Informations forums :
    Inscription : Octobre 2019
    Messages : 2
    Points : 1
    Points
    1
    Par défaut Manipulation de matrice
    Bonsoir, je me retrouve un peu coincé sur un programme consistant a faire des modifications sur une matrice.
    Ce que je cherche a faire est : à partir d'une matrice quelconque tiré d'un fichier .txt appelé matrice A.
    Je cherche à modifier chaque élément de la matrice pris un par un, le nouvel élément devient la somme de ses 4 voisins (à savoir celui du haut, du bas, à gauche et à droite), si un voisin n'existe pas on le considère nul. Le résultat doit être afficher par étape.
    Mon problème étant que je n'arrive pas a faire en sorte de négliger les voisins qui n'existe pas. Exemple de matrice :
    Le résultat attendu est :
    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
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
     [[5 1 1]
     [4-2 5] 
    [2 8 7]]
    [[5 4 1] 
    [4-2 5]
     [2 8 7]]
    [[5 4 9] 
    [4-2 5]
     [2 8 7]]
    [[5 4 9]
     [5-2 5]
     [2 8 7]]
    [[5 4 9]
     [522 5] 
    [2 8 7]]
    [[5 4 9] 
    [ 5 22 38]
     [2 8 7]]
    [[5 4 9]
     [ 5 22 38] 
    [13 8 7]]
    [[5 4 9] 
    [ 5 22 38]
     [13 42 7]]
    [[5 4 9]
     [ 5 22 38]
     [13 42 80]]
    [[5   4   9]
     [ 5 22 38]
     [13 42 80]]

  2. #2
    Membre émérite

    Homme Profil pro
    Ingénieur calcul scientifique
    Inscrit en
    Mars 2013
    Messages
    1 229
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Alpes Maritimes (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Ingénieur calcul scientifique

    Informations forums :
    Inscription : Mars 2013
    Messages : 1 229
    Points : 2 328
    Points
    2 328
    Par défaut
    Bonjour

    1) Montrer votre code qui ne fonctionne pas sur les bords, mais qui fonctionne ailleurs. Pour vérifier qu'il fonctionne bien ailleurs faites votre boucle de 1 à n-1 (au lieu de 0 à n).
    2) Faites des boucles particulières pour les bords, ou bien tester à chaque itération si vous êtes sur un bord, et appliquer le traitement adéquat

  3. #3
    Expert éminent sénior
    Homme Profil pro
    Architecte technique retraité
    Inscrit en
    Juin 2008
    Messages
    21 283
    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 283
    Points : 36 770
    Points
    36 770
    Par défaut
    Salut,

    Citation Envoyé par anthony963 Voir le message
    Mon problème étant que je n'arrive pas a faire en sorte de négliger les voisins qui n'existe pas.
    Soit vous faites des tests pour traiter les bords soit vous ajoutez des bords:
    0 0 0 0 0
    0 6 1 1 0
    0 4-2 5 0
    0 2 8 7 0
    0 0 0 0 0
    et vous faites attention à vos index de boucle pour balayer la matrice 3x3 contenue dans la représentation 3+2 x 3+2 qui la contient que ce soit pour les calculs ou l'affichage des résultats.

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

  4. #4
    Membre chevronné
    Homme Profil pro
    Enseignant
    Inscrit en
    Juin 2013
    Messages
    1 608
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Enseignant
    Secteur : Enseignement

    Informations forums :
    Inscription : Juin 2013
    Messages : 1 608
    Points : 2 072
    Points
    2 072
    Par défaut
    Effectivement, soit on ajoute une bordure, soit on ne traite pas les bords : 2 approches donc du traitement d'images. J'ai des doc dispo ici si besoin : http://obelix56.free.fr/spip.php?article5, notamment sur le filtrage et l'embossage (CTRL-F ou voir les index).
    Pas d'aide par mp.

  5. #5
    Nouveau Candidat au Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Octobre 2019
    Messages
    2
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 25
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Étudiant
    Secteur : Finance

    Informations forums :
    Inscription : Octobre 2019
    Messages : 2
    Points : 1
    Points
    1
    Par défaut
    Bonjour, merci pour vos conseils, j'ai finalement réussi a obtenir un programme qui me donne le résultat voulu pour n'importe quelle matrice. J'ai mit dans ma boucle 4 conditions pour chaque coins, 4 conditions pour chaque bords(qui n'inclue pas les coins) et pour finir une condition pour traiter le coeur de la matrice.

  6. #6
    Membre émérite

    Homme Profil pro
    Ingénieur calcul scientifique
    Inscrit en
    Mars 2013
    Messages
    1 229
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Alpes Maritimes (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Ingénieur calcul scientifique

    Informations forums :
    Inscription : Mars 2013
    Messages : 1 229
    Points : 2 328
    Points
    2 328
    Par défaut
    Bonjour

    N'hésitez pas à poster votre code, pour 2 bonnes raisons :
    - si quelqu'un à le même problème que vous ou bien un problème similaire, et bien il aura une base pour démarrer
    - on pourra aussi commenter votre code pour que vous puissiez l'améliorer

Discussions similaires

  1. [Débutant] Manipulation de matrices
    Par MireilleC dans le forum MATLAB
    Réponses: 3
    Dernier message: 04/08/2007, 12h12
  2. manipulation des matrices sous SSRS
    Par linram dans le forum MS SQL Server
    Réponses: 1
    Dernier message: 09/07/2007, 12h31
  3. [Manipulation de matrices] Elements adjacents
    Par Opérateur dans le forum Algorithmes et structures de données
    Réponses: 8
    Dernier message: 25/11/2006, 11h30
  4. Fonctions manipulant des matrices
    Par panda31 dans le forum C
    Réponses: 24
    Dernier message: 14/06/2006, 10h28
  5. Manipulation de matrices.
    Par TeKa dans le forum C
    Réponses: 28
    Dernier message: 16/11/2005, 15h53

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