使用 dblquad 积分器发送参数时出现问题

问题描述 投票:0回答:1
from scipy import integrate

def g(y,x,a):
    
    return x*y**2 + a

a= 13

integrate.dblquad(g, 0, 2, lambda x: 0, lambda x: x, args=(a))

TypeError Traceback(最近一次调用最后一次) 在 5个= 13 6 ----> 7 整合.dblquad(g, 0, 2, lambda x: 0, lambda x: x, args=(a))

~ naconda3\lib\site-packages\scipy\integrate\quadpack.py 在 dblquad(func, a, b, gfun, hfun, args, epsabs, epsrel) 第599章 600 --> 601 返回 nquad(func, [temp_ranges, [a, b]], args=args, 第602章 603

~ nquad 中的 naconda3\lib\site-packages\scipy\integrate\quadpack.py(func、ranges、args、opts、full_output) 第824章: 第825章 --> 第 826 章 第827章 828

TypeError:* 之后的Integrate() 参数必须是可迭代的,而不是int

python scipy numerical-integration
1个回答
0
投票

您可以在

a
的内部(甚至外部)定义
g
:

from scipy import integrate

a = 13

def g(y, x):
    return x * y ** 2 + a


integrate.dblquad(g, 0, 2, lambda x: 0, lambda x: x)

(我从来不热衷于

args
争论。)

© www.soinside.com 2019 - 2024. All rights reserved.