Inscription / Connexion Nouveau Sujet
Niveau terminale
Partager :

Maths expertes, Nombres complexes

Posté par
capucinee
09-01-21 à 10:17

Bonjour,
Je dois réaliser cet exercice. Cependant, j'ai du mal à comprendre les questions. Pourriez-vous m'aider?

Voici l'énoncé de l'exercice:

Dans le plan complexe muni d'un repère d'origine 0, on considère un point C d'affixe zc.
A partir de ce point, on construit la suite de points Mn dont les affixes zn sont définies par la suite de nombres complexes suivants:
z0=0
Pour tout n appartenant à N, z(n+1)=(zn)^2 +zc
Concernant le comportement d'une telle suite, on peut démontrer que deux cas peuvent se présenter:
-soit la distance OMn=|zn| diverge vers +infini quand n tend vers +infini, dans ce cas, le point C fixé au départ n'appartient pas à l'ensemble de Mandelbrot
-soit la distance OMn=|zn| est bornée et dans ce cas, le point C fixé au départ appartient à l'ensemble de Mandelbrot.

Questions:
1) Soit C le point d'affixe 1+i. Montrer à l'aide du logiciel Python, que M5 a pour affixe -9407-193i.
Que peut-on alors conjecturer concernant ce point C.

Alors voila, pour cette question j'ai réussi à y arriver en faisant les différents calculs à la main. Pour le programme python, j'ai réalisé celui-ci:

from math import*

def terme(n):
    z=complex(0,0)
    for i in range(n):
        z=z**2+1+i
    return(z)
Cependant, je pense qu'il y a un problème à la ligne 5, voir même à plusieurs endroits.

Quant à la conjecture: Je pense que le point C n'appartient pas à l'ensemble de Mandelbrot.

2) Soit C(0,1+0,2i). Ce point C semble-t-il appartenir à l'ensemble de Mandelbrot.
Conjecture: Ce point C semble appartenir à l'ensemble de Mandelbrot.

Pour ces deux premières questions, je doute fortement de mes conjectures.

3) On admet le résultat suivant: "S'il existe un entier n tel que la distance OMn soit supérieure à 2, alors la suite |zn| tend vers +infini quand n tend vers +infini.
En revanche, si la distance OMn reste inférieure à 2 pour n assez grand, la suite |zn| est bornée entre 0 et 2."
On a le programme suivant:

import matplotlib.pyplot as plt
from random import random

def mandelbrot(n):
    for i in range(n):
        c=complex(4*random()-2,4*random()-2)
        z=0
        k=0
        while abs(z)<2 and k<50:
            z=z**2+c
            k=k+1
        if k==50:
            plt.plot(c.real,c.imag,'r.',ms=0.5)
    plt.xlim(-2,2)
    plt.ylim(-2,2)
    ax=plt.gca()
    ax.spines['bottom'].set_position(('data',0))
    ax.spines['left'].set_position(('data',0))
    plt.show()

a) Expliquer la ligne 6 de la fonction Python ci-contre.
La ligne  "c=complex(4*random()-2,4*random()-2)" permet de calculer

b) Quel est le rôle du nombre 50 à la ligne 9?
A la ligne 9, le nombre 50 permet de définir le dernier rang de la suite.

c) Pourquoi affiche-t-on un point uniquement si k=50?

Pour ces trois sous-questions, n'étant pas vraiment à l'aise avec le langage python, je ne sais pas vraiment quoi répondre ni même ce qui est véritablement demandé. Pourriez-vous m'aider?

4) Programmer cette fonction et observer le nuage de point obtenu pour n assez grand.
Pour cette question, j'ai recopié le programme dans Python, je l'ai exécuté et dans la console j'ai marqué mandelbrot(70000°.
Cependant rien ne se passe.

II°) Dans le plan complexe muni d'un repère d'origine O, soit A un point du plan d'affixe a et c un nombre complexe donné. On construit la suite de points Mn dont les affixes zn ont définies par la suite de nombres complexes suivante:
z0=a
pour tout n appartenant à N, z(n+1)=(zn)^2 +c
L'ensemble des points A d'affixe a tels que |zn| est bornée est appelé un ensemble de Julia.
En admettant le même type de résultat que précédemment, créer une fonction Julia qui prend comme argument c et n et qui affiche une partie de l'ensemble de Julia associé.

Pour cette question, il faut réaliser le même type de question que précédemment. Je pense donc qu'avec les réponses aux autres questions, je pourrais réussir celle-ci.

Merci pour votre aide.

Posté par
carpediem
re : Maths expertes, Nombres complexes 09-01-21 à 11:28

salut

la réponse à ton pb de la question 1/ est donnée à la question 3a/ ...

Posté par
capucinee
re : Maths expertes, Nombres complexes 09-01-21 à 11:52

Bonjour,
Merci pour votre réponse.

Pour la première question, il faut donc que j'ajoute la ligne 6 "c=complex(4*random()-2,4*random()-2)" à mon programme ?

Posté par
carpediem
re : Maths expertes, Nombres complexes 09-01-21 à 12:07

non !!!

il faut faire comprendre à la machine que tu travailles avec des complexes !!!

donc z = z**2 + 1 + i n'est pas compréhensible par la machine ...

Posté par
capucinee
re : Maths expertes, Nombres complexes 09-01-21 à 12:13

D'accord,
C'est pour cela qu'il faut marquer ces deux lignes au début du programme:
"import matplotlib.pyplot as plt
from random import random"

La ligne "c=complex(4*random()-2,4*random()-2)" permettrait donc au logiciel d'identifier et d'indiquer les nombres complexes ?

Posté par
carpediem
re : Maths expertes, Nombres complexes 09-01-21 à 13:07

mais comprends-tu ce que j'écris ? sais-tu lire ?

on en est à la question 1/ et je te dis que

carpediem @ 09-01-2021 à 11:28

la réponse à ton pb de la question 1/ est donnée à la question 3a/ ...


et

carpediem @ 09-01-2021 à 12:07

il faut faire comprendre à la machine que tu travailles avec des complexes !!!

donc z = z**2 + 1 + i n'est pas compréhensible par la machine ...
mais qu'est-il écrit dans le script de la question 3a/ ?

Posté par
capucinee
re : Maths expertes, Nombres complexes 09-01-21 à 13:52

Oui oui, je comprends ce que vous dites.
Le script de la question 3a) est:

import matplotlib.pyplot as plt
from random import random

def mandelbrot(n):
    for i in range(n):
        c=complex(4*random()-2,4*random()-2)
        z=0
        k=0
        while abs(z)<2 and k<50:
            z=z**2+c
            k=k+1
        if k==50:
            plt.plot(c.real,c.imag,'r.',ms=0.5)
    plt.xlim(-2,2)
    plt.ylim(-2,2)
    ax=plt.gca()
    ax.spines['bottom'].set_position(('data',0))
    ax.spines['left'].set_position(('data',0))
    plt.show()

Pour la première question, il s'agirait donc d'appliquer ce script?

Posté par
carpediem
re : Maths expertes, Nombres complexes 09-01-21 à 14:30

tu penses qu'il y a des pb ... mais l'as-tu fait tourné pour essayer ?

Posté par
capucinee
re : Maths expertes, Nombres complexes 09-01-21 à 14:43

Le script qui avait des problèmes est celui que j'avais fait. En le faisant tourné, de mauvais résultats apparaissant.

Cependant, compte tenu de vos réponses précédentes, je pense qu'il faut se servir du script de la question 3a afin de montrer que M5 a pour affixe -9407-193i.
De plus, je crois qu'il faut compléter la ligne 6 « c=complex(4*random()-2,4*random()-2) » mais je ne sais pas par quoi.



Vous devez être membre accéder à ce service...

Pas encore inscrit ?

1 compte par personne, multi-compte interdit !

Ou identifiez-vous :


Rester sur la page

Inscription gratuite

Fiches en rapport

parmi 1675 fiches de maths

Désolé, votre version d'Internet Explorer est plus que périmée ! Merci de le mettre à jour ou de télécharger Firefox ou Google Chrome pour utiliser le site. Votre ordinateur vous remerciera !