Problem 44449. Moving Median Absolute Deviation
The median absolute deviation (MAD) is defined as
MAD = median(abs(A − median(A)))
for a rolling window of length n. For example:
move_mad(1:10, 5)
returns [1 1 1 1 1 1];
move_mad(logspace(0, 1, 10), 3)
returns [0.292 0.377 0.486 0.628 0.811 1.048 1.353 1.748]
Round the result to 3 digits.
Solution Stats
Problem Comments
-
5 Comments
Show
2 older comments
goc3
on 5 Jan 2018
The description was improved and the test suite fixed.
Rafael S.T. Vieira
on 29 Sep 2020
The test suite needs to be fixed so it can admit a tolerance in the solution since it is using floats. Currently MATLAB has the function movmad, but even with it, and using round the last case of the test suite fails.
goc3
on 29 Sep 2020
The test suite has had a tolerance applied.
ChrisR
on 3 Jul 2021
The tolerance isn't defined in the test suite.
goc3
on 7 Jul 2021
@ChrisR: the tolerance is hard-coded into the assert lines (1e-3).
Solution Comments
Show commentsProblem Recent Solvers13
Suggested Problems
-
Return a list sorted by number of occurrences
2776 Solvers
-
5600 Solvers
-
Replace NaNs with the number that appears to its left in the row.
2976 Solvers
-
1886 Solvers
-
Sum of diagonal of a square matrix
1575 Solvers
More from this Author4
Problem Tags
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!