【发布时间】:2018-07-03 18:22:37
【问题描述】:
给定以下函数:
d = y-a*sin(b*x-c)
我使用来自scipy 的nquad 将这个函数集成到a、b 和c 的特定范围内:
def Iper(x,y,alb,aub,blb,bub,clb,cub):
return nquad(lambda a,b,c: y-a*np.sin(b*x-c), [[alb,aub],[blb,bub], [clb,cub]], full_output=True)
使用下面的边界:
print(Iper(5.0,3.0,
1.5,2.0,
4.3,4.5,
7.5,8.0))
我得到以下结果:
(0.09107123193614816, 1.2123921401960992e-14, {'neval': 9261})
但是结果应该(据我所知)为零。绘制给定边界的结果 d 值会产生一个区域,该区域绝不与 d 的函数相交。下面你会看到 d 与轴 b、c 和 d 的函数。绿色和紫色曲线代表 a 值 a = 1.5 和 a = 2.0。这八个点表示由 a、b、c 和 d 的边界所包围的“盒子”/区域……两个绘制的函数都没有与该盒子区域相交。为什么我们这里有一个不等于零的积分?
【问题讨论】: