convolve
位於 stats
包(package)。 說明
使用快速傅裏葉變換來計算兩個序列的幾種卷積。
用法
convolve(x, y, conj = TRUE, type = c("circular", "open", "filter"))
參數
x, y |
要進行卷積的相同長度的數字序列。 |
conj |
邏輯性;如果 |
type |
特點;部分匹配 對於 |
細節
使用快速傅裏葉變換 fft
來提高效率。
如果 circular
為 true,則輸入序列 x
和 y
必須具有相同的長度。
請注意,兩個序列 x
和 y
的卷積的通常定義由 convolve(x, rev(y), type = "o")
給出。
值
如果 r <- convolve(x, y, type = "open")
和 n <- length(x)
, m <- length(y)
,則
其中對於 來說,總和是所有有效索引 的總和。
如果 type == "circular"
,則需要 ,並且上述情況對於 成立,而 對於 成立。
例子
require(graphics)
x <- c(0,0,0,100,0,0,0)
y <- c(0,0,1, 2 ,1,0,0)/4
zapsmall(convolve(x, y)) # *NOT* what you first thought.
zapsmall(convolve(x, y[3:5], type = "f")) # rather
x <- rnorm(50)
y <- rnorm(50)
# Circular convolution *has* this symmetry:
all.equal(convolve(x, y, conj = FALSE), rev(convolve(rev(y),x)))
n <- length(x <- -20:24)
y <- (x-10)^2/1000 + rnorm(x)/8
Han <- function(y) # Hanning
convolve(y, c(1,2,1)/4, type = "filter")
plot(x, y, main = "Using convolve(.) for Hanning filters")
lines(x[-c(1 , n) ], Han(y), col = "red")
lines(x[-c(1:2, (n-1):n)], Han(Han(y)), lwd = 2, col = "dark blue")
參考
Brillinger, D. R. (1981) Time Series: Data Analysis and Theory, Second Edition. San Francisco: Holden-Day.
也可以看看
相關用法
- R constrOptim 線性約束優化
- R confint 模型參數的置信區間
- R contrast (可能稀疏)對比矩陣
- R contrasts 獲取和設置對比矩陣
- R cor 相關性、方差和協方差(矩陣)
- R cor.test 配對樣本之間的關聯/相關性測試
- R complete.cases 查找完整案例
- R cov.wt 加權協方差矩陣
- R cophenetic 層次聚類的共表距離
- R coef 提取模型係數
- R cancor 典型相關性
- R cutree 將樹切割成數據組
- R cpgram 繪製累積周期圖
- R chisq.test 計數數據的皮爾遜卡方檢驗
- R checkMFClasses 檢查傳遞給模型框架的變量類型的函數
- R cmdscale 經典(公製)多維標度
- R case+variable.names 擬合模型的案例和變量名稱
- R stlmethods STL 對象的方法
- R medpolish 矩陣的中值波蘭(穩健雙向分解)
- R naprint 調整缺失值
- R summary.nls 總結非線性最小二乘模型擬合
- R summary.manova 多元方差分析的匯總方法
- R formula 模型公式
- R nls.control 控製 nls 中的迭代
- R aggregate 計算數據子集的匯總統計
注:本文由純淨天空篩選整理自R-devel大神的英文原創作品 Convolution of Sequences via FFT。非經特殊聲明,原始代碼版權歸原作者所有,本譯文未經允許或授權,請勿轉載或複製。