1 Dessin d`un escargot

Transcription

1 Dessin d`un escargot
Polytech' UPMC
EI-2I HF
Année 2015/2016
Florian OMNES
[email protected]
Maths et physique appliqués
TP Matlab : Nombres complexes
L'objectif de ce TP est d'étudier numériquement le comportement de suites de nombres
complexes.
1
Dessin d'un escargot
L'objectif de cette partie est de dessiner la gure suivante à l'aide de MATLAB :
A3
1.8
1
A2
1.6
1.4
1
1.2
A1
1
0.8
0.6
1
0.4
0.2
θ2
0
-1
-0.8
-0.6
-0.4
-0.2
θ1
O
0
θ0
A0
0.2
0.4
0.6
0.8
Exercice 1.
1
1.2
1.4
1.6
1.8
2
2.2
On considère la suite de nombres complexes (un )n≥0 , telle que un est l'axe de An .
1. A partir de la gure, donner u0 et u1 sous forme algébrique et exponentielle. On note
un = ρn eiαn
avec
ρn =
1
√
n+1
et
α0 = 0
1
)
αn = αn−1 + Arcsin( √n+1
2. Ecrire une fonction ESCARG(N) qui pour chaque n ∈ 1, . . . , N trace le triangle 0An−1 An .
On pourra utiliser la fonction plot, en remarquant que plot([z1 , . . . , zn ]) trace la ligne
brisée reliant les points d'axes z1 , . . . , zn . On pourra également utiliser l'instruction
hold on, qui permet de tracer plusieurs graphiques sur une même gure.
3. Quelle est la plus petite valeur de n pour laquelle An est en dehors du disque D de
centre 0, de rayon 5 ? Vérier par le calcul.
2
Racines de l'unité
L'objectif de cette partie est de déterminer et visualiser les racines de l'unité.
Exercice 2.
Soit n ∈ N, n > 0. Une racine nème de l'unité est un nombre complexe z tel que
(1)
zn = 1
1. Soit z une racine nème de l'unité. En écrivant z = ρeiθ , montrer que ρ = 1.
2. Ecrire 1 sous forme exponentielle. Déduire l'ensemble des θ pour lesquels l'équation (1)
est vériée.
On rappelle que deux nombres complexes de module
seulement s'il existe
k∈Z
tel que
1,
notés
eiθ1
et
eiθ2
sont égaux si et
θ2 = θ1 + 2kπ .
3. Conclure qu'il existe exactement n racines distinctes de l'unité, que l'on notera ω0 , . . . , ωn−1 ,
et que
ωk = e
2ikπ
n
, k ∈ {0, . . . , n − 1}
4. Soit Ai le point d'axe ωi . Ecrire une fonction REPRRAC(N) qui représente A0 , . . . , AN −1 .
On pourra utiliser plot(z,'.') pour tracer le point d'axe z . Quelle est la nature de
la gure A0 A2 . . . An−1 ?
3
Ensemble de Mandelbrot
L'objectif de cette partie est d'esquisser sur MATLAB l'ensemble de Mandelbrot, comme
sur la gure suivante 1 :
1. source
https://commons.wikimedia.org/wiki/File:Mandelset_hires.png
2
Exercice 3.
Pour un c ∈ C donné, on considère la suite de nombres complexes :
z0
= 0
zn+1 = zn2 + c
On dénit (ici) l'ensemble de Mandelbrot M comme l'ensemble des c ∈ C tel que (zn ) soit
bornée en module :
∃A ∈ R, ∀n ∈ N, |zn | ≤ A
On peut montrer que si |zn | > 2 pour un certain n, alors c 6∈ M.
1. Calculer z1000 pour c = 41 + 31 i
2. Ecrire une fonction [t]=BORN(c,N) prend en argument c ∈ C et N ∈ N et qui renvoie
t = 0 si l'un des zn est de module > 2, (n ∈ {1, . . . , N }) et t = 1 sinon.
3. La gure tracée plus haut est obtenue en colorant en noir les points d'axe c pour
lesquels ∀n ∈ {1, . . . , N }, |zn | < 2.
Pour cela, on subdivise le rectangle [xmin , xmax ] × [ymin , ymax ] comme sur la gure suivante, pour laquelle Nx = 4 et Ny = 3.
3
Ecrire la fonction TRACEMANDEL(xmin , xmax , ymin , ymax , Nx , Ny , N ), qui teste tous
les points de la grille à l'aide de la fonction [t]=BORN(c,N), et qui trace un point en c
si t = 1.
On pourra utiliser plot(z,'.') pour tracer le point d'axe z .
4. Lancer TRACEMANDEL avec les paramètres xmin = −2, xmax = 1, ymin = −1, ymax = 1
avec Nx = Ny = 50 et N = 100. Faire varier les paramètres Nx , Ny et N pour préciser
leur inuence sur le tracé.
5. Zoomer sur certaines régions en ajustant xmin , xmax , ymin et ymax .
4

Documents pareils