小波函数:将matlab小波代码重写为R

时间:2018-11-13 06:24:14

标签: r matlab wavelet

我正在使用matlab代码:

wt = modwt(datavalue,'db1',7);

我想将此代码转换为R,我已通过以下方式完成此操作:

wt = modwt(datavalue,wf = 'db2',n.levels = 7)

但这总是给我错误

Error in modwt(datavalue, wf = "db2", n.levels = 7) : 
  unused argument (wf = "db2")

如果我这样写代码

wt = modwt(datavalue,'db2',7)

它给我以下错误

Error in wt.filter(filter, modwt = TRUE) : Invalid filter name.

我正在使用小波函数,可能我无法理解R中的小波函数。 是将代码转换为R的权利,还是R中是否有比小波包更好的其他包

1 个答案:

答案 0 :(得分:0)

I'm not fully familiar with the MATLAB function modwt. However, you can try the R package waveslim, and the function modwt. It looks the same, see the documentation.

require(waveslim)

data(ibm)     
ibm.returns <- diff(log(ibm))
ibmrWave <- modwt(ibm.returns, wf = "la8", n.levels = 4)