Wenn Sie algebraische Berechnungen mit Sympy durchführen, möchten Sie möglicherweise einen kurzen Blick darauf werfen, wie das Diagramm dieser Formel aussieht. Wenn ich von Graphen in Python spreche, denke ich, dass das erste, was mir in den Sinn kommt, matplotlib ist, aber wenn $ y = f (x) $, muss $ x $ mit numpys Arrangement zugewiesen werden, was problematisch ist. .. In solchen Fällen kann das Plot-Modul von Sympy verwendet werden. Dies stellt nicht nur die Formel so dar, wie sie ist, sondern macht auch etwas ziemlich Kompliziertes.
Importieren Sie zunächst die erforderlichen Module. In Sympy wird anscheinend häufig "from sympy import ~" verwendet. Zusätzlich zu der Variable, die die Variablen definiert, werde ich dieses Mal die "plot_implicit-Funktion" verwenden, mit der Sie die Großartigkeit des Plotting-Moduls erleben können. In der Tat läuft in der Grafik von Sympy matplotlib hinter den Kulissen. Importieren Sie diese also ebenfalls.
Importieren Sie die erforderlichen Module usw.
from sympy import var
from sympy.plotting import plot_implicit
import matplotlib.pyplot as plt
Zeichnen wir zunächst einen Kreis ($ x ^ 2 + y ^ 2 = 1 $).
Importieren Sie die erforderlichen Module usw.
#Eine Ellipse zeichnen
var('x,y')
size = 1.1
f = x**2 + y**2 - 1
plot_implicit(f, (x, -size, size), (y, -size, size),
xlim=(-size*1.1, size*1.1), ylim=(-size*1.1, size*1.1))
plt.rcParams['figure.figsize'] = (5, 5)
Mit plot_implicit können Sie die Formel schön grafisch darstellen, ohne dass sie wie $ y = f (x) $ aussehen muss. Sie können ein Diagramm erstellen, indem Sie einfach eine Formel eingeben und den Bereich von $ x, y $ mit plot_implicit angeben. Geben Sie danach in plt.rcParams von matplotloib die Größe des Diagramms usw. an, und es ist abgeschlossen. Das Ergebnis ist wie folgt:
Als nächstes zeichnen wir eine Doppelkurve. Die Formel lautet $ x ^ 2- y ^ 2 = 1 $. Das Programm und die Grafik sind wie folgt.
Importieren Sie die erforderlichen Module usw.
#Zeichnen Sie eine Doppelkurve
var('x,y')
size = 5
f= x**2 - y**2 - 1
plot_implicit(f, (x, -size, size), (y, -size, size),
xlim=(-size*1.1, size*1.1), ylim=(-size*1.1, size*1.1))
plt.rcParams['figure.figsize'] = (5, 5)
Zeichnen wir die letzten beiden geraden Linien, die sich schneiden. Die Formel lautet $ f = x ^ 2 --y ^ 2 --0 $. Das Programm und die Grafik sind wie folgt.
Importieren Sie die erforderlichen Module usw.
#Schnittkurven zeichnen
var('x,y')
size = 5
f= x**2 - y**2 - 0
plot_implicit(f, (x, -size, size), (y, -size, size),
xlim=(-size*1.1, size*1.1), ylim=(-size*1.1, size*1.1))
plt.rcParams['figure.figsize'] = (5, 5)
Plötzlich habe ich eine spezielle Funktion verwendet, aber ich denke, es ist sehr praktisch. Es scheint jedoch, dass plot_implicit nicht in 3D verwendet werden kann, sodass Sie ein anderes Modul verwenden müssen. Ich recherchiere etwas mehr darüber.
Recommended Posts