我已经设法使用 scipy.integrate.quad 为我的随机过程类编写了几行代码
我有标准布朗运动的马尔可夫转换函数
import numpy as np
def p(x,t):
return (1/np.sqrt(2*np.pi*t))*np.exp(-x**2/(2*t))
但是我想计算以下我将用不起作用的代码编写的内容。我是这样写的,所以我们可以在不使用乳胶的情况下理解问题。
from scipy.integrate import quad
integral = quad(quad(p(y-x),1,np.inf)*p(x,1),1,np.inf)
您可能注意到问题在于内部积分中发生的二元问题。我做了以下但不确定:
p_xy = lambda y,x: p(y-x,1)
inner = lambda x : quad(p_xy,1,np.inf,args = (x,))[0]
outer = lambda x: inner(x)*p(x,1)
integral = quad(outer,1,np.inf)[0]
然后我得到
0.10806767286289147
我喜欢 Python 及其 lambda 函数,但似乎对此不确定。你觉得呢?你有没有什么想法?感谢您的时间。