我想使用sin(f(x,y,a,b)) dx dy
集成Int dblquad
,其中a和b是两个参数。
下面显示了一个示例,其中x和y都从0到10,并且a = 0,b = 1。
dblquad(f*np.sin(f),0,10,0,10,args=(0,1))
但是,这将导致输出
Traceback (most recent call last):
File "./update.py", line 60, in <module>
dblquad(f*np.sin(f),0,10,0,10,args=(0,1))
AttributeError: 'function' object has no attribute 'sin'
为什么会这样?尝试像这样的积分时,将np.sin
应用于f
(np.log
得到相同的结果)是否存在问题?
使用dblquad进行此操作的正确方法是什么?
谢谢!
答案 0 :(得分:0)
您的代码有两个问题:
首先是python无法计算函数的正弦,它需要计算数字的正弦(当然这可以是其他函数的结果):这就是您的AttributeError
。
第二个是dblquad中的语法错误。根据{{1}} documentation
,根据y
设置x
限制
工作示例:
dblquad