使用SciPy quad函数计算定积分返回错误值的问题求助
问题分析与解决
错误根源:你定义的
g(x)化简后是x²((2*(x**2))/2等价于x²),但你实际要积分的被积函数是2x。注意quad函数是直接对传入的被积函数进行数值积分,不需要手动写出原函数表达式,这是你出错的核心原因。修正后的代码:
from scipy.integrate import quad def g(x): return 2 * x # 直接定义被积函数2x result, _ = quad(g, 3, 4) print(result) # 输出7.0,符合预期
- 结果验证:2x的原函数是
x²,代入积分上下限计算得4² - 3² = 16 - 9 =7,和正确结果一致。
内容的提问来源于stack exchange,提问作者Kartick Upadhyay
相关产品推荐
相关产品推荐

