Python和科学计算认证群组  - 讨论区

标题:求复指数的定积分

2010年11月28日 星期日 13:20

请教RY老师,对这样的一个复指数如何求其定积分?

e^(-jw)   (积分区间:-pi ~ pi;积分变量:w)

 

2010年11月28日 星期日 15:51

用sympy可以算:

In [102]: from sympy import *

In [103]: w=symbols("w")

In [105]: integrate(exp(-w*I), (w, -pi, pi))

Out[105]: 0

2010年11月28日 星期日 19:45

数值计算的话,分成实数部分和虚数部分,分别积分,注意使用支持复数计算的数学函数:

In [107]: from cmath import exp, pi

In [109]: integrate.quad(lambda w:exp(-1j*w).imag, -pi, pi)

Out[109]: (0.0, 4.3998892617846002e-14)

In [110]: integrate.quad(lambda w:exp(-1j*w).real, -pi, pi)

Out[110]: (2.6159013735064738e-16, 4.4717370932388282e-14)

因此答案是0.0+1j*2.6159013735064738e-16,约等于0

2010年11月29日 星期一 19:36

不好意思,RY老师,有点不明白。

为什么分别对exp(-1j*w)的实部和虚部积分,结果都有两项,

而最后的结果似乎又取的是Out[109]和Out[110]行的第一个数?

 

2010年11月29日 星期一 19:42

quad结果的第一个数是积分结果,第二个是最大误差。

2010年11月29日 星期一 19:45

也就是说对“e^(-jw)   (积分区间:-pi ~ pi;积分变量:w)”,求定积分最后的结果只是约等于0。

谢谢RY老师!

2010年11月29日 星期一 19:50

数值积分的结果是约等于0,实际上是应该精确等于0

2010年11月29日 星期一 19:52

哦,对的,呵呵,居然把积分的实际意义忘了。

如下红色区域有误,请重新填写。

    你的回复:

    请 登录 后回复。还没有在Zeuux哲思注册吗?现在 注册 !

    Zeuux © 2024

    京ICP备05028076号