我在寻找一种简单的方法来进行时间序列的傅里叶分析。功能fourier()在R的FDA包似乎是我想要的,但我不知道它的内部运作。下面是一个简单的例子:
maxTime <- 10
omega <- (2*pi)/1
time <- seq(0, maxTime, maxTime/200)
signal <- 5*cos(omega*time)
#
library(fda)
fit <- fourier(signal, 2)
#
summary(fit)
const sin1 cos1
Min. :0.3162 Min. :-0.4303 Min. :-0.4472
1st Qu.:0.3162 1st Qu.:-0.2525 1st Qu.:-0.4419
Median :0.3162 Median : 0.0000 Median :-0.3691
Mean :0.3162 Mean : 0.0000 Mean :-0.1376
3rd Qu.:0.3162 3rd Qu.: 0.2525 3rd Qu.: 0.2525
Max. :0.3162 Max. : 0.4303 Max. : 0.4472我想知道,上述数值是如何计算出来的?包文档并不能解释这一点,有人知道吗?
发布于 2019-01-27 11:18:13
从函数的描述:注意这是在2007年修改的(https://github.com/cran/fda/blob/master/R/fourier.R),所以更新的文档可能更准确,或者更好地研究函数本身,可以提供更多的信息。
计算带周期周期的NBASIS函数的傅里叶级数基的NDERIV导数,并在向量X中求值。 通过函数值的NBASIS矩阵返回N 注:基函数的个数总是奇数。如果NBASIS的论点是偶数,它就会增加1。
https://stackoverflow.com/questions/54387466
复制相似问题