2 回答

TA貢獻(xiàn)1851條經(jīng)驗(yàn) 獲得超4個(gè)贊
只需更換
def integrand(a, b):
經(jīng)過(guò)
def integrand(x, a, b):
問(wèn)題在于,在函數(shù)中,您使用了變量,x但沒(méi)有將變量x作為參數(shù)傳遞給函數(shù)。0并1作為積分的極限,但是由于要集成wrt x,因此會(huì)出現(xiàn)此錯(cuò)誤。
輸出
(1.6666666666666667, 1.8503717077085944e-14)

TA貢獻(xiàn)1817條經(jīng)驗(yàn) 獲得超6個(gè)贊
a*x**2+b您正在使用的此函數(shù)包含一個(gè)變量x,在您的情況下def integrand(a, b): 不包含變量 x,它使用您正在使用的積分的 0 到 1 限制I=quad(integrand,0,1,args=(a,b))。
因此,您要做的就是添加x到您的def中。
def integrand(x, a, b):
return a * x ** 2 + b
a = 2
b = 1
I = quad(integrand,0,1,args=(a,b))
I
添加回答
舉報(bào)