1
我正在嘗試三重積分功能。三重積分:ValueError:負數不能升到分數
from scipy.integrate import tplquad
S = 40
P1 = 0.37
P2 = 0.43
P3V = .05
UND = 1 - (P1+P2+P3V)
b1 = S*P1
b2 = S*P2
b3 = S*P3
b4 = S*UND
x1 = 48
x2 = 47
x3 = 4
x4 = 1
tp1 = tplquad(lambda x, y, z: ((x**(b1 + x1 - 1))*(y**(b2 + x2 - 1))*(z**(b3 + x3 - 1))*((1-x-y-z)**(x4+b4-1))), 0, 1, lambda z: z, lambda z: (1-z)/2, lambda x,z: 0, lambda x,z: x)
這是拋出:
ValueError: negative number cannot be raised to a fractional power
我想要的功能整合(x**(b1 + x1 - 1))*(y**(b2 + x2 - 1))*(z**(b3 + x3 - 1))*((1-x-y-z)**(x4+b4-1))
了以下的限制:
第一,
y
從0到x,然後,
x
去從Z到(1-Z)/ 2,然後,
z
從0變爲1
誰能告訴我,我做錯了什麼?
感謝您的更新。我知道'1-x-y-z'不應該是負數,這是計算積分極限時使用的不等式之一。另外兩個不等式是'x> y'和'x> z' – ProgSnob
任何想法這個三重積分的極限應該給出三個方程:'x> y'和'x> z'和'x + y + z <= 1' – ProgSnob