【问题标题】:How do you do a Fast Fourier Transform in maxima (the computer algebra system)?您如何在最大值(计算机代数系统)中进行快速傅立叶变换?
【发布时间】:2012-12-03 04:22:34
【问题描述】:

我了解了连续傅里叶变换的基本概念,但我对离散傅里叶变换有点模糊,而在快速傅里叶变换上仍然存在 hazier。我想知道如何计算和解释最大值中某些函数的快速傅里叶变换(FFT)。例如,我将如何计算 sin(x) 的 FFT?我知道如何在 MATLAB 中执行此操作,但我不确定如何在 maxima 中执行此操作。

【问题讨论】:

    标签: fft cas maxima


    【解决方案1】:

    嗯,有一个内置的快速傅里叶变换函数:参见'fft'。

    'fft' 仅用于数值数据。也许您想要一个也适用于符号数据的函数。很容易编写一个普通的(不是快速的)离散傅里叶变换作为求和,例如:(1/n) sum(y[k]*exp(2*%pi*%i*j*k/n) 用于j-th 元素。 (公式可能有误,我是凭记忆工作的。)

    如果您想对符号数据进行快速傅立叶变换,则需要使用已发布的算法。 (有很多书里面有FFT算法。)只要用Maxima写算法,运算就会自动符号化。

    【讨论】:

    • 我不介意使用数值数据,因为我会在 MATLAB 中这样做。我的问题是我不知道如何在最大值中进行数值计算。
    • 好的,对于数值数据,使用 Maxima 中的 'fft' 函数。进入 '? fft' 在输入提示符处获取文档。
    • 我想我应该更新这个。我设法通过使用 qfft.mac 的零碎(不是标准最大值的一部分)让它工作。我对其进行了足够的修改以使其按我需要的方式工作。谢谢。
    猜你喜欢
    • 2010-12-13
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-04-21
    相关资源
    最近更新 更多