Python (école d'ingénieur) · Chapitre 11 · Exercice
Fractale de Newton
Résolution d'équations non linéaires
Énoncé
Pour le polynôme complexe , tracer les bassins d'attraction de la méthode de Newton complexe dans le plan complexe .
Corrigé
import numpy as np
import matplotlib.pyplot as plt
def newton_complexe(f, df, z0, maxiter=50, tol=1e-6):
z = z0
for i in range(maxiter):
fz = f(z)
if abs(fz) < tol:
return z, i
dz = df(z)
if abs(dz) < 1e-10:
return z, maxiter
z = z - fz / dz
return z, maxiter
P = lambda z: z**3 - 1
dP = lambda z: 3*z**2
# Grille de calcul
res = 500
x = np.linspace(-1.5, 1.5, res)
y = np.linspace(-1.5, 1.5, res)
image = np.zeros((res, res))
iterations = np.zeros((res, res))
racines = [1, -0.5 + 0.86602540378j, -0.5 - 0.86602540378j]
for i in range(res):
for j in range(res):
z = complex(x[i], y[j])
root, it = newton_complexe(P, dP, z, maxiter=30)
distances = [abs(root - r) for r in racines]
image[j, i] = np.argmin(distances)
iterations[j, i] = it / 30.0
Bassins d'attraction complexes (gauche) et vitesse de convergence (droite) pour l'équation par la méthode de Newton. Les zones colorées à gauche désignent le bassin d'attraction de chaque racine complexe de l'unité. Les structures complexes et auto-similaires aux frontières révèlent la nature chaotique et fractale de la méthode de Newton complexe.
100 % gratuit
La suite du chapitre est sur Adloun
- 7 autres exercices corrigés dans ce chapitre, et 7 à chercher avec le tuteur
- Les 2 QCM du chapitre, le premier sans compte
- Le tuteur, qui guide pas à pas sans donner la réponse
Sans compte : le cours et le premier QCM. Exercices et tuteur : inscription gratuite en 30 secondes, sans carte bancaire.