-
smd贴片型led的封装史上的数值积分方法最全面
资源介绍
3.5 数值积分
数值积分是对定积分的数值求解,例如可以利用数值积分计算某个形状的面积。下面让我们来考虑一
下如何计算半径为1的半圆的面积,根据圆的面积公式,其面积应该等于PI/2。单位半圆曲线可以用下
面的函数表示:
def half_circle(x):
return (1-x**2)**0.5
下面的程序使用经典的分小矩形计算面积总和的方式,计算出单位半圆的面积:
>>> N = 10000
>>> x = np.linspace(-1, 1, N)
>>> dx = 2.0/N
>>> y = half_circle(x)
>>> dx * np.sum(y[:-1] + y[1:]) # 面积的两倍
3.1412751679988937
利用上述方式计算出的圆上一系列点的坐标,还可以用numpy.trapz进行数值积分:
>>> import numpy as np
>>> np.trapz(y, x) * 2 # 面积的两倍
3.1415893269316042
此函数计算的是以x,y为顶点坐标的折线与X轴所夹的面积。同样的分割点数,trapz函数的结果更加接
近精确值一些。
如果我们调用scipy.integrate库中的quad函数的话,将会得到非常精确的结果:
>>> from scipy import integrate
>>> pi_half, err = integrate.quad(half_circle, -1, 1)
>>> pi_half*2
3.1415926535897984
多重定积分的求值可以通过多次调用quad函数实现,为了调用方便,integrate库提供了dblquad函数
进行二重定积分,tplquad函数进行三重定积分。下面以计算单位半球体积为例说明dblquad函数的用
法。
单位半球上的点(x,y,z)符合如下方程:
x2 + y2 + z2 = 1
因此可以如下定义通过(x,y)坐标计算球面上点的z值的函数:
3.5. 数值积分 49
- 上一篇: 解常微分方程组-smd贴片型led的封装史上最全
- 下一篇: 关联元器件-软件定义边界和零信任