【问题标题】:How to run n points FFT in R?如何在 R 中运行 n 点 FFT?
【发布时间】:2016-07-27 04:17:51
【问题描述】:

假设我有一个长度为 100 的向量 x,在 Matlab 中,我可以运行 fft(x,32) 得到一个长度为 32 的复向量。

但是如何在R 中做到这一点?

fft(x,32) 将不起作用,但仍会返回长度为 100 的复数向量。

【问题讨论】:

    标签: r matlab signal-processing


    【解决方案1】:

    来自 MatLab 文档:

    Y = fft(X,n) 返回 n 点 DFT。如果未指定值,则 Y 为 和 X 一样大。

    如果 X 是一个向量并且 X 的长度小于 n,则 X 用尾随零填充到长度 n。

    如果 X 是向量且 X 的长度大于 n,则 X 被截断为长度 n。 ...

    要在 R 中获得相同的结果:

    fft(x[1:32])
    

    【讨论】:

    • 但是@HubertL,如果lenght(x)=1000n=1024 会发生什么,就像在matlab 中doc 一样?
    • 嗨@fina,您可以使用c(X, rep(0,n-length(X))) 填充X 和零
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2022-01-10
    • 2016-02-09
    • 2020-06-23
    • 1970-01-01
    • 1970-01-01
    • 2020-11-21
    • 2017-02-18
    相关资源
    最近更新 更多