知道方程式,用python 2.7绘制一个椭圆

问题描述 投票:-6回答:1

我有这个等式,它定义了一个椭圆。

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的数组,但它不起作用。我在下面的代码中使用了this question的方法,但它没有显示所需的椭圆。

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)
python-2.7 numpy matplotlib plot ellipse
1个回答
1
投票

您显示的代码不代表椭圆的等式。有点难以确定你在该代码中究竟尝试了什么,但这里的方法当然与linked question的答案完全相同,即用网格计算方程式的左侧并显示其水平右手边作为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()

enter image description here

© www.soinside.com 2019 - 2024. All rights reserved.