加入收藏 | 设为首页 | 会员中心 | 我要投稿 甘南站长网 (https://www.0941zz.com/)- 科技、行业物联网、开发、云计算、云管理!
当前位置: 首页 > 编程开发 > Python > 正文

使用Python / Sympy进行连续傅里叶变换(分析解决方案)

发布时间:2020-09-06 05:05:03 所属栏目:Python 来源:互联网
导读:我最近用Python替换了Matlab因为我是真的;因为Sympy而兴奋.但现在我有以下问题:我需要一种用Python可靠地计算连续傅里叶变换的方法. Sympy在解决方案方面存在问题,包括Diracs(Delta函数),因为它们例如出现在三角函数等处.例如,如果我尝试fourier_transform(c

我最近用Python替换了Matlab因为我是真的;因为Sympy而兴奋.

但现在我有以下问题:

我需要一种用Python可靠地计算连续傅里叶变换的方法. Sympy在解决方案方面存在问题,包括Diracs(Delta函数),因为它们例如出现在三角函数等处.

例如,如果我尝试

fourier_transform(cos(x),x,v)

输出为0,它应该基于Dirac delta函数

有没有人知道,如果Sympy的这一部分有待改进,或者是否有其他方法可以通过Python分析性地找到傅立叶变换?

感谢您提前给出答案或任何建议!

最佳答案 据我所知,目前没有人正在研究这个问题,尽管contributions are welcome.

我可以给出一些建议:

>如果在fourier_transform()中设置noconds = False,则包含0为True的条件:

In [26]: fourier_transform(cos(t),t,noconds=False)
Out[26]:
   │                  -π           2      │       │                  π           2      │    
0,│periodic_argument    polar_lift (x),∞│ < π ∧ │periodic_argument   polar_lift (x),∞│ < π

除非显示0并非完全错误,否则这些条件不是很有用.
>您可以使用FourierTransform来表示未评估的傅里叶变换.您可以在其上调用doit()来评估它或重写(Integral)以获得整数形式:

In [28]: FourierTransform(cos(t),x).rewrite(Integral)
Out[28]:
∞

   -2πtx
            cos(t) dt

-∞

我现在最好的建议是通过操作FourierTransform对象或积分来进行SymPy目前无法手动完成的傅里叶变换.

(编辑:甘南站长网)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读