数值积分,求解圆周率
求解圆周率
integrate
对函数(1 - x2)0.5进行积分
s = np.pi*1**2
# r = 1
s == np.pi
# True
X**2 + Y**2 = 1,半径是1
pi×r**2,只要求得面积--->pi
x = np.linspace(-1,1,100)
# x**2 + y**2 = 1
# y = (1 - x**2)**0.5
f = lambda x :(1 - x**2)**0.5
y = f(x)
首先画一个圆
plt.figure(figsize=(4,4))
plt.plot(x,y)
plt.plot(x,-y)
42.png
52.png
使用Scipy.integrate模块里的quad()方法
import scipy.integrate as integrate
ret,err = integrate.quad(f,-1,1)
print('使用积分求解圆周率:%s'%(str(ret*2)))
out:
使用积分求解圆周率:3.141592653589797
网友评论