Eine implizite Funktion ist $ f (x, y) = 0 $, was schwierig in eine explizite Form umzuwandeln ist. Yen $ x ^ 2 + y ^ 2-1 = 0 $ ist ein typisches Beispiel. Es ist nicht unmöglich, es zu transformieren, aber es ist nicht sehr klug beim Zeichnen von Diagrammen, da es eine Fallklassifizierung erfordert. In solchen Fällen ist "Kontur" zweckmäßig.
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)
#Achseneinstellungen
plt.axis([-2, 2, -2, 2])
plt.gca().set_aspect('equal', adjustable='box')
#Zeichnung
Z=X**2+Y**2-1
plt.contour(X, Y, Z, [0])
plt.show()
Plt.contour (X, Y, Z, [0])
im Code zeichnet eine Konturlinie mit Z = 0.
Wenn Sie "[-1,0,1]" angeben, werden Konturlinien hinzugefügt. Es ist klug.
Es ist ziemlich kurz, aber ich habe das Gefühl, ich male nur $ - \ 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