用 python 画一个椭圆 2.7 知道方程

Plot an ellipse with python 2.7 knowing the equation

我有这个方程,它定义了一个椭圆。

7.91x^2 + -0.213xy + 5.46y^2 -0.031x -0.0896y = 1

一般形式:Ax^2 + Bxy + Cy^2 + Dx +Ey = 1

我正在使用 python 2.7 -- pythonxy

当然,我尝试通过尝试解决点 x 和 y 的数组,但它不起作用。我在下面的代码中使用了 中的方法,但它没有显示所需的椭圆。

import numpy as np
import matplotlib.pyplot as plt

z = -np.linspace(-0.5,+0.5,1000)
x = np.linspace(-0.5,+0.5,1000)


x,z = np.meshgrid(x,z)

Z = -1 + 5.46*z**2
X = 7.91*x**2


plt.contour(x,z,(X+Z),[0])
plt.xlim([-0.6,0.6])
plt.ylim([-0.6,+0.6)

您显示的代码不代表椭圆的方程。很难说出您在该代码中到底在尝试什么,但这里的方法当然与 的答案完全相同,即用 meshgrid 计算等式的左侧并将右侧的水平显示为 contour 线。

import numpy as np
import matplotlib.pyplot as plt

x = -np.linspace(-0.5,+0.5,1000)
y = np.linspace(-0.5,+0.5,1000)


X,Y = np.meshgrid(x,y)

#equation: 7.91x^2 + -0.213xy + 5.46y^2 -0.031x -0.0896y = 1
eqn = 7.91* X**2 -0.213*X*Y + 5.46*Y**2 -0.031*X - 0.0896*Y
Z = 1

plt.contour(X,Y,eqn,[Z])
plt.xlim([-0.6,0.6])
plt.ylim([-0.6,+0.6])
plt.show()