Une fonction implicite est $ f (x, y) = 0 $, ce qui est difficile à transformer en une forme explicite. Yen $ x ^ 2 + y ^ 2-1 = 0 $ est un exemple typique. Il n'est pas impossible de le transformer, mais ce n'est pas très intelligent lors du dessin de graphiques car cela nécessite une classification des cas. Dans de tels cas, "contour" est pratique.
python
import matplotlib.pyplot as plt
import numpy as np
delta = 0.025
xrange = np.arange(-2, 2, delta)
yrange = np.arange(-2, 2, delta)
X, Y = np.meshgrid(xrange,yrange)
#Réglage de l'axe
plt.axis([-2, 2, -2, 2])
plt.gca().set_aspect('equal', adjustable='box')
#dessin
Z=X**2+Y**2-1
plt.contour(X, Y, Z, [0])
plt.show()
Plt.contour (X, Y, Z, [0])
dans le code trace une ligne de contour avec Z = 0.
Si vous spécifiez «[-1,0,1]», des lignes de contour seront ajoutées. C'est intelligent.
C'est assez court, mais j'ai l'impression que je ne fais que peindre $ - \ epsilon <f (x, y) <\ epsilon $.
python
from sympy import *
x, y = symbols("x y")
Z=x**2+y**2-1
plot_implicit(Z, (x, -2, 2), (y, -2, 2))
Recommended Posts