以下公式用于对二维空间中的点进行分类:
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()
这产生下图
最后,一些一般性声明:
x^2
并不意味着您认为它在python中的作用,您必须使用x**2
。 x1
和x2
(对我而言)极具误导性,尤其是在您声明x2
必须在y轴上的情况下。 plt.gca().set_aspect('equal')
,通过使轴相等来使图形实际上看起来是圆形的。 关于python - 画出一个圆的方程式,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/32092899/