可以将文章内容翻译成中文,广告屏蔽插件可能会导致该功能失效(如失效,请关闭广告屏蔽插件后再试):
问题:
I'm adapting MATLAB code to R and trying to generate a waveform using ARMA formula. Is there a simple R equivalent function for MATLAB's filter
to take AR/MA coefficients to build a waveform?
npts = 100; a = [1 0.6]; % AR coeffs b = [1 0.25 3]; % MA coeffs e = randn(npts,1); % generate gaussian white noise waveform = filter(b,a,e); % generate waveform
回答1:
Hmm can't you achieve that with filter
function in the package signal ?
require(signal) a = c(1,0.6) b = c(1,0.25,3) e = rnorm(100) waveform = filter(b,a,e)
回答2:
Yeah, you can do this usring arima.sim
, e.g.
arima.sim(npts, model=list(ar=a, ma=b), rand.gen=rnorm)
Note that the model is checked for stationarity and the model you have above is not stationary. If you want something integrated you can specify the order of integration in the model.