Python 无法使用integrate.nqad:TypeError:can';用浮点型的非整数乘以序列

Python 无法使用integrate.nqad:TypeError:can';用浮点型的非整数乘以序列,python,integrate,Python,Integrate,我在使用函数integrate.nqad时遇到问题。 我得到这个错误:“TypeError:不能将序列乘以 输入“float” 我知道我在某处有一根绳子,但我找不到确切的位置 如果有人能帮我做这件事,我将非常感激。 提前谢谢 from scipy import integrate import numpy as np def f(D,S): Ka = 0.08 C = 500 R = 0.05 return np.exp(-Ka*C*((R

我在使用函数integrate.nqad时遇到问题。

我得到这个错误:“TypeError:不能将序列乘以 输入“float”

我知道我在某处有一根绳子,但我找不到确切的位置

如果有人能帮我做这件事,我将非常感激。 提前谢谢

from scipy import integrate
import numpy as np
def f(D,S):
        Ka = 0.08
        C = 500
        R = 0.05
    return np.exp(-Ka*C*((R-S)*np.cos(D) *(np.sin(D))**2))
Io = 3.58*10**16
R = 0.05
I = (Io/(R*np.pi)) * integrate.nquad(f,[[0, R],[0, np.pi]])
根据,
nqad
返回2(或3,如果设置了正确的参数)项:结果(积分值)、各种积分结果中绝对误差估计值的最大值,以及可选的带有附加信息的dict

您正试图将
nqad
通过
(Io/(R*np.pi))
返回的2元组进行倍数运算:这将导致您的错误


将返回的元组的第一个元素(请注意,
[0]
作为上面代码的最后一位),您将得到您想要的。

没有字符串问题。而是一个元组问题。
from scipy import integrate
import numpy as np
def f(D,S):
    Ka = 0.08
    C = 500
    R = 0.05
    return np.exp(-Ka*C*((R-S)*np.cos(D) *(np.sin(D))**2))
Io = 3.58*10**16
R = 0.05
I = (Io/(R*np.pi)) * integrate.nquad(f,[[0, R],[0, np.pi]])[0]