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