使用pymc参数作为集成限制

时间:2018-06-06 09:34:13

标签: python pymc

我是python的新手,我试图使用pymc参数作为集成限制:( x是一个数组,已经在之前定义过):

import pymc

from scipy import integrate

omega=pymc.Uniform('omega_m',0,1)

a=pymc.Uniform('a',0.01,0.1)

b=pymc.Uniform('b',0.001,0.01)


@pymc.deterministic
def tau1(a=a,b=b):
    sigma=a + b*x
    tau2=1/(sigma**2)
    return tau2


xp=pymc.Normal("xpo",mu=x,tau=tau1)

@pymc.deterministic
def mu(omega=omega,xp=xp):
r,s=integrate.quad(lambda y:(1+omega*((1+y)**float(3)-1))**float(-0.5),0,xp)
return r*(1+xp)

尝试执行此操作时出现以下错误:

ValueError: The truth value of an array with more than one element is ambiguous.

我知道我收到此错误,因为集成的上限是数组而不是值。有没有办法使用参数(xp)作为限制?

0 个答案:

没有答案