如何解决如何集成2平方函数?
我想做的是计算i(rms)
I0 = 1; T0 = 0.05; beta = 0.2
import numpy as np
from scipy import integrate
I0 = 1; T0 = 0.05; beta = 0.2
def i(x):
return I0*(np.sin(np.pi*x/T0)-beta*np.sin(2*np.pi*x/TO))
integ = integrate.quad(i**2,T0)[0]
irms = np.sqrt(integ/T0)
print("i(rms) = ",irms)
TypeError Traceback (most recent call last)
<ipython-input-40-b60f32acb4dc> in <module>
7 return I0*(np.sin(np.pi*x/T0)-beta*np.sin(2*np.pi*x/TO))
8
----> 9 integ = integrate.quad(i**2,T0)[0]
10
11 irms = np.sqrt(integ/T0)
TypeError: unsupported operand type(s) for ** or pow(): 'function' and 'int'
我该如何解决?
解决方法
您正在使用x**y
,就像使用pow。
当您将函数(i
)作为第一个参数传递时,pow函数需要2个数字。也许您想将通话结果传递给i
?
顺便说一句-使用i
作为函数名称不是最佳做法。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。