5

我正在使 MATLAB 代码适应 R 并尝试使用 ARMA 公式生成波形。MATLAB 是否有一个简单的 R 等效函数filter来获取 AR/MA 系数来构建波形?

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
4

2 回答 2

4

是的,你可以这样做arima.sim,例如

arima.sim(npts, model=list(ar=a, ma=b), rand.gen=rnorm)

请注意,已检查模型的平稳性,并且您上面的模型不是平稳的。如果您想要集成某些东西,您可以指定模型中的集成顺序。

于 2012-01-28T20:49:57.260 回答
3

嗯,你不能用filter信号中的功能来实现吗?

require(signal)
a = c(1,0.6)
b = c(1,0.25,3)
e = rnorm(100)
waveform = filter(b,a,e)
于 2012-01-29T17:32:19.743 回答