使用scipy.integrate模块中的quad和dblquad方法分别进行单重积分和多重积分

转自:

    https://blog.csdn.net/qq_43468807/article/details/105782487

 

# 示例程序: 利用积分公式 ,求解 期望和方差
from numpy import sin,cos,exp,inf,pi
import scipy.integrate as integrate

mu = 1      # 期望
sigma = 1   # 标准差

# Y = sin(X)
# 按公式计算E[Y]和D[Y]
f1 = lambda x:  sin(x) * exp(-(x-mu)**2/(2*sigma**2)) / ((2*pi)**0.5*sigma)
f2 = lambda x:  sin(x)**2 * exp(-(x-mu)**2/(2*sigma**2)) / ((2*pi)**0.5*sigma)
f_mu, err = integrate.quad( f1,  -inf,  inf)
temp, err = integrate.quad( f2,  -inf,  inf)
f_cov = temp - f_mu**2

print(f_mu, f_cov)

# 按一阶泰勒展开近似计算
print(sin(mu), cos(mu)**2 * sigma**2)

 

转载自:

无迹卡尔曼滤波-1

    

 

posted @ 2021-04-27 19:30  博客园—哆啦A梦  阅读(412)  评论(0)    收藏  举报