scipy integrate.tplquad 的不同结果

different result with scipy integrate.tplquad

对于 Matematica,这个积分给了我 3。wolfram alpha 使用 integrate.tplquad 我得到 -3。
这是 Matematica 代码。

Integrate[1-x, {(0,2),(0,3-1.5*x),(0,6-3*x -2*y)}]   

我看不出我做错了什么 ntegrate.tplquad

f = lambda x,y,z: 1-x   

x1, x2 = 0,2

y1, y2 = lambda x : 0 , lambda x:3-1.5*x

z1, z2  = lambda x,y:0, lambda x,y: 6 -3*x -2*y

print(integrate.tplquad(f,x1,x2, y1, y2, z1, z2)[0])
-3.0

仔细检查tplquad docstring;您会看到函数 f 的签名是 f(z, y, x)。所以看起来你的被积函数应该是:

   f = lambda x, y, z: 1 - z