Функция вейвлета: переписать код вейвлета Matlab в R - PullRequest
0 голосов
/ 13 ноября 2018

У меня есть код 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 голосов
/ 13 ноября 2018

Я не совсем знаком с функцией MATLAB modwt.Однако вы можете попробовать пакет R waveslim и функцию modwt.Выглядит так же, см. документацию .

require(waveslim)

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