gpt4 book ai didi

python - 为什么 scipy 为结果应该为零的积分提供非零结果?

转载 作者:行者123 更新时间:2023-11-30 22:12:18 25 4
gpt4 key购买 nike

给定以下函数:

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.5a = 2.0。这八个点代表由 a、b、c 和 d 的边界包围的“盒子”/区域...两个绘制的函数均不与该盒子区域相交。为什么我们这里有一个不等于零的积分?

enter image description here

最佳答案

我认为您误解了 3 维多元积分的测量值。它不是域和曲线相交的 3d 体积(这是 2d 多元积分测量的),而是 4 维超体积。

<小时/>

一步步看这个积分,首先针对a进行积分:

http://www.wolframalpha.com/input/?i=integrate+y-a*sin(b*x-c)+with+respect+to+a+between+1.5+and+2

然后b:

http://www.wolframalpha.com/input/?i=integrate+0.5+y+%2B+0.875+sin(c+-+b+x)+with+respect+to+b+between+4.3+and+4.5

然后c:

http://www.wolframalpha.com/input/?i=integrate+0.1+y+%2B+(0.875+(cos(c+-+4.5+x)+-+cos(c+-+4.3+x)))%2Fx+with+respect+to+c+between+7.5+and+8

我们看到对于给定的 x 和 y 值,积分不为零。

<小时/>

注意:当我评估这个时,我得到:

(0.06749972471060735, 1.031215181499445e-14, {'neval': 9261})

而不是你的答案。

关于python - 为什么 scipy 为结果应该为零的积分提供非零结果?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51149887/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com