how can i generate a moving average time series data using amtalb R 2006 a?
1 次查看(过去 30 天)
显示 更早的评论
i want to generate moving average time series data , i used a the function armasim
function z = armasim(phi,theta,n)
% ARMASIM(PHI,THETA,N) generates N observations from the
% ARMA model specified by PHI, THETA
% It "burns in" with the 1st 200 observations
[p m] = size(phi);
[q m] = size(theta);
n1 = 200+n;
a = normrnd(0,1,n1+q,1);
z = zeros(p,1);
for i=1:n1
zt = z(i:(i+p-1))'*phi(p:-1:1)+a(i+q)-a(i:(i+q-1))'*theta(q:-1:1);
z = [ z ; zt ];
end
z = z((201+p):(n1+p));
it works good for MA(1) but MA(2)or more , the resulting data is not good!
0 个评论
回答(1 个)
Image Analyst
2013-5-15
To do a moving average, use conv():
movingAverage = conv(inputSignal, ones(1, windowSize)/windowSize);
0 个评论
另请参阅
类别
在 Help Center 和 File Exchange 中查找有关 Biological and Health Sciences 的更多信息
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!