Calculates the moving average of a series given a duration.
XMOVAVG(series, xdur, rampflag, "naflag", "edgeflag")
series |
- |
A series or table. |
||||||||||||
xdur |
- |
A real, the X duration used to compute the integer number of samples for the moving interval. |
||||||||||||
rampflag |
- |
Optional. An integer, endpoint averaging flag.
|
||||||||||||
"naflag" |
- |
Optional. A string, the NA handling method.
|
||||||||||||
"edgeflag" |
- |
Optional. A string, the edge processing flag.
|
A series or table.
W1: {1, 2, 4, 7};setdeltax(1/100)
W2: movavg(w1, 3)
W3: xmovavg(w1, 0.02)
W1 contains the input data with a sample rate of 100 Hz.
W2 computes a 3 point moving average.
W3 computes the same moving average except the block size is specified in terms of seconds. Since a 0.02 interval equates to 3 samples, both functions return the series:
{1, 1.5, 2.333, 4.333, 5.5, 7}.
W1: integ(gnorm(10000, 1/10000)) * 1000
W2: movavg(w1, 51)
W3: xmovavg(w1, 0.005)
W4: W2 - W3
W1 synthesizes 10000 samples of data with a sample rate of 10kHz.
W2 computes a 51 point moving average.
W3 computes a moving average with a moving interval of 0.005 seconds. Since a 0.005 interval equates to 51 samples, the two moving average results are equal.
The interval duration xdur is converted to the integer sample interval N with:
N = xdur / deltax(s) + 1
where xdur >= deltax(s)
See XMOVMEAN to compute a centered moving average given a duration.
See MOVAVG to compute an N point centered moving average and for more details on rampflag, naflag and edgeflag.