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 :

Création tableau taille (N,N) donnant le résultat d'une fonction


Sujet :

Python

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Candidat au Club
    Femme Profil pro
    physique
    Inscrit en
    Novembre 2019
    Messages
    3
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 27
    Localisation : France, Hauts de Seine (Île de France)

    Informations professionnelles :
    Activité : physique
    Secteur : Arts - Culture

    Informations forums :
    Inscription : Novembre 2019
    Messages : 3
    Par défaut Création tableau taille (N,N) donnant le résultat d'une fonction
    Bonjour à tous,
    j'ai besoin d'aide sur une question :
    "Créez deux tableaux numpy x et y ayant N = 200 éléments chacun, et les bornes −3 ≤ x ≤ 1, −2 ≤ y ≤ 2. Créez un tableau mask de taille (N,N) donnant le résultat de la fonction mandel pour chacundespointsc[i,j] = x[i] + 1j * y[j]."

    Je ne sais pas cmment créer un tableau donnant le résultat d'une fonction...
    La fonction mandel étant définie dans la question précédente.

    En vous remerciant par avance pour votre aide.
    Cordialement,
    Jeanne

  2. #2
    Membre chevronné
    Homme Profil pro
    BTS SN IR
    Inscrit en
    Mai 2017
    Messages
    514
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 26
    Localisation : France, Saône et Loire (Bourgogne)

    Informations professionnelles :
    Activité : BTS SN IR

    Informations forums :
    Inscription : Mai 2017
    Messages : 514
    Par défaut
    L'énoncé est assez imprécis je trouve, mais si je devais décomposer et utiliser des phrases qui ont du sens:

    créer deux tableaux, X et Y (X représentera l'axe des abscisses et Y celui des ordonnées ? des valeurs aléatoires ça fait assez peu de sens mais bon ça me parait plausible), les deux tableaux contiendrons 200 éléments chacun,
    pour tout n appartenant à X : −3 ≤ n ≤ 1, et tout n appartenant à y : −2 ≤ n ≤ 2.

    créer un mask ? de dimension 200x200, donc en gros une matrice, si ça peux vous aider pensez tableau à double entrées avec d'un coté x et de l'autre y, et à chaque intersection x + yi et ... je pensais que le but était de tracer une représentation graphique de l'ensemble de Mandelbrot mais ça n'y ressemble pas

  3. #3
    Candidat au Club
    Femme Profil pro
    physique
    Inscrit en
    Novembre 2019
    Messages
    3
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 27
    Localisation : France, Hauts de Seine (Île de France)

    Informations professionnelles :
    Activité : physique
    Secteur : Arts - Culture

    Informations forums :
    Inscription : Novembre 2019
    Messages : 3
    Par défaut
    Citation Envoyé par flapili Voir le message
    L'énoncé est assez imprécis je trouve, mais si je devais décomposer et utiliser des phrases qui ont du sens:

    créer deux tableaux, X et Y (X représentera l'axe des abscisses et Y celui des ordonnées ? des valeurs aléatoires ça fait assez peu de sens mais bon ça me parait plausible), les deux tableaux contiendrons 200 éléments chacun,
    pour tout n appartenant à X : −3 ≤ n ≤ 1, et tout n appartenant à y : −2 ≤ n ≤ 2.

    créer un mask ? de dimension 200x200, donc en gros une matrice, si ça peux vous aider pensez tableau à double entrées avec d'un coté x et de l'autre y, et à chaque intersection x + yi et ... je pensais que le but était de tracer une représentation graphique de l'ensemble de Mandelbrot mais ça n'y ressemble pas
    Bonjour,
    je vous remercie de votre réponse. Effectivement si, le but est de tracer l'ensemble de Mandelbrot. L'énoncé complet est le suivant :
    Q1 — Définir une fonction mandel(c) qui retourne 1 si l’élément c appartient à l’ensemble de Man- delbrot, ou 0 si il n’y appartient pas. Pour déterminer l’appartenance de c à l’ensemble de Mandelbrot, on fera 50 itérations de la suite (1) et on déterminera si le module |z50| < 50; si oui alors l’élement c appartient à l’ensemble de Mandelbrot, sinon il n’y appartient pas. Testez votre fonction sur les éléments c = 0.1 + 0.2j (doit donner 1), et c = 0.5 − j (doit donner 0).
    Q2 — Créez deux tableaux numpy x et y ayant N = 200 éléments chacun, et les bornes −3 ≤ x ≤ 1, −2 ≤ y ≤ 2. Créez un tableau mask de taille (N,N) donnant le résultat de la fonction mandel pour chacun des points c[i,j] = x[i] + 1j * y[j].
    Q3 — Représenter le résultat dans le plan (x, y) grâce à la commande imshow(mask) de matplotlib. Enregistrez votre graphique avec le nom exo1.pdf.

    Mais ne vois toujours pas comment faire un tableau a doubl entrées....

  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 jeannelakits Voir le message
    Mais ne vois toujours pas comment faire un tableau a doubl entrées....
    tableau = np.array((200, 200))
    Il ne vous reste qu'à le remplir

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

  5. #5
    Membre chevronné
    Homme Profil pro
    BTS SN IR
    Inscrit en
    Mai 2017
    Messages
    514
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 26
    Localisation : France, Saône et Loire (Bourgogne)

    Informations professionnelles :
    Activité : BTS SN IR

    Informations forums :
    Inscription : Mai 2017
    Messages : 514
    Par défaut
    le tableau à double entrées était une façon de vous montrer de que vous devez faire de façon visuelle, en python (et programmation en général) delà se concrétise par une liste de liste
    par exemple si je prend
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    [[1, 2, 3], [4, 5, 6], [7, 8, 9]]
    ce n'est pas très parlant, cependant en modifiant un peu la mise en forme en obtient ceci,
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    [
        [1, 2, 3],
        [4, 5, 6],
        [7, 8, 9],
    ]
    qu'est est plus parlant, dans cet exemple j'ai une matrice 3x3, c'est exactement la même chose que l'on vous demande mais en 200x200.

    un autre exemple:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    >>> a = [[x*y for x in range(5)] for y in range(5)]
    >>> pprint.pprint(a)
    [[0, 0, 0, 0, 0],
     [0, 1, 2, 3, 4],
     [0, 2, 4, 6, 8],
     [0, 3, 6, 9, 12],
     [0, 4, 8, 12, 16]]
    (le module pprint, pretty print permet un affichage plus lisible)
    comme vous le voyez j'ai simplement x*y ici, par contre contrairement à moi qui utilise des listes en compréhensions imbriquées pour l'exemple vous devez utiliser numpy qui a tous les outils qu'il faut pour faire ça.

    par contre je suis un peu perdu sur "|z50| < 50", est ce que 50 est en indice ? est-ce que c'est simplement 50xZ (ce qui n'aurais aucun sens puisqu'il suffirais de simplifier les 2 membres de l'inéquations par 50), et les 50 itérations de la suite CAD ?

  6. #6
    Candidat au Club
    Femme Profil pro
    physique
    Inscrit en
    Novembre 2019
    Messages
    3
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 27
    Localisation : France, Hauts de Seine (Île de France)

    Informations professionnelles :
    Activité : physique
    Secteur : Arts - Culture

    Informations forums :
    Inscription : Novembre 2019
    Messages : 3
    Par défaut
    par contre je suis un peu perdu sur "|z50| < 50", est ce que 50 est en indice ? est-ce que c'est simplement 50xZ (ce qui n'aurais aucun sens puisqu'il suffirais de simplifier les 2 membres de l'inéquations par 50), et les 50 itérations de la suite CAD ?[/QUOTE]

    Merci, oui pardon sur "|z50| < 50" , 50 est un indice. c'est z pour n=50; sachant que la suite est défini par :
    z0 = 0
    zk+1 = zk2 + c

  7. #7
    Membre chevronné
    Homme Profil pro
    BTS SN IR
    Inscrit en
    Mai 2017
    Messages
    514
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 26
    Localisation : France, Saône et Loire (Bourgogne)

    Informations professionnelles :
    Activité : BTS SN IR

    Informations forums :
    Inscription : Mai 2017
    Messages : 514
    Par défaut
    z0 = 0
    zk+1 = zk2 + c
    vous êtes sur de vous ? il serais préférable que vous utilisiez les indices/exposants s'il y en a, de plus il doit manquer des choses dans votre formule de récurrence

  8. #8
    Membre prolifique
    Avatar de Sve@r
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Février 2006
    Messages
    12 835
    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 835
    Billets dans le blog
    1
    Par défaut
    Bonjour
    Citation Envoyé par jeannelakits Voir le message
    Je ne sais pas cmment créer un tableau donnant le résultat d'une fonction...
    Pour moi, chaque case [x][y] du tableau final aura comme résultat le calcul de la fonction pour les valeurs situées en case [x] et la case [y] des deux premiers tableaux...
    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]

Discussions similaires

  1. Réponses: 2
    Dernier message: 04/07/2014, 15h21
  2. Afficher le résultat d'une fonction dans un tableau
    Par aminaloli dans le forum Général JavaScript
    Réponses: 6
    Dernier message: 27/08/2012, 10h21
  3. Réponses: 0
    Dernier message: 16/03/2012, 10h03
  4. Résultat d'une fonction sous forme de tableau
    Par Touty01 dans le forum Macros et VBA Excel
    Réponses: 0
    Dernier message: 31/05/2010, 23h35
  5. résultat d'une fonction dans un tableau
    Par nymus7 dans le forum Langage
    Réponses: 16
    Dernier message: 21/12/2009, 16h10

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