以下公式用于对二维空间中的点进行分类:

f(x1,x2) = np.sign(x1^2+x2^2-.6)

所有点都在X = [-1,1] x [-1,1]空间中,每个x的拾取概率相同。

现在,我想将等于的圆可视化:
0 = x1^2+x2^2-.6

x1的值应在x轴上,x2的值应在y轴上。

一定有可能,但是我很难将方程式转换成图。

最佳答案

您可以使用等高线图,如下所示(基于http://matplotlib.org/examples/pylab_examples/contour_demo.html的示例):

import numpy as np
import matplotlib.pyplot as plt

x = np.linspace(-1.0, 1.0, 100)
y = np.linspace(-1.0, 1.0, 100)
X, Y = np.meshgrid(x,y)
F = X**2 + Y**2 - 0.6
plt.contour(X,Y,F,[0])
plt.show()

这产生下图

python - 画出一个圆的方程式-LMLPHP

最后,一些一般性声明:
  • x^2并不意味着您认为它在python中的作用,您必须使用x**2
  • x1x2(对我而言)极具误导性,尤其是在您声明x2必须在y轴上的情况下。
  • (感谢Dux)您可以添加plt.gca().set_aspect('equal'),通过使轴相等来使图形实际上看起来是圆形的。
  • 关于python - 画出一个圆的方程式,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/32092899/

    10-12 18:50