问题描述
import math
from scipy.integrate import quad
def f(p):
return (math.sqrt(q_values * u_values)**2)
i = quad (f,2500)
print (i)
这是我得到的错误: 只有大小为 1 的数组可以转换为 Python 标量
解决方法
当函数需要一个数字(如浮点数)但收到一个包含多个条目的列表时,会出现错误消息“只有大小为 1 的数组可以转换为 Python 标量”。
math.sqrt() 需要一个浮点数,但 q_values 和 u_values 是 numpy 数组。
我不完全明白,你想在这里做什么,因为 q_values 和 u_values 没有在你的代码中指定,但你定义了一个函数 f(x) 但你没有使用 x 而是使用两个未指定的变量.我建议您编辑您的问题或重新发布。
还有这个特定功能的文档:https://docs.scipy.org/doc/scipy/reference/generated/scipy.integrate.quad.html