Python 无法使用integrate.nqad:TypeError:can';用浮点型的非整数乘以序列
我在使用函数integrate.nqad时遇到问题。 我得到这个错误:“TypeError:不能将序列乘以 输入“float” 我知道我在某处有一根绳子,但我找不到确切的位置 如果有人能帮我做这件事,我将非常感激。 提前谢谢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
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]