MINMAX: Generalized median-style filter

Generalization of MIN, MAX, MEDIAN and extreme values filtering.
767.0 次下载
更新时间 2013/3/18

查看许可证

A little function that I imagined many years ago: a "median-style" generalized filter. Let's sorting all values of a vector X in ascending order then consider the normalized rank position N of elements:

- N = 0 (first value) corresponds to the minimum of X;
- N = 1 (last value) the maximum;
- N = 0.5 (middle) is the median value;
- So what is N = 0.9 ? Answer is: it's the maximum of X after excluding the 10% highest values.

The proposed function allows a simple generalization of MIN, MAX, MEDIAN and extreme filtering functions, reduced to a single parameter. A typical example of use is minmax(X,[0.01 0.99]) which returns minimum and maximum values of X(:) but excluding the 1% extreme values. This is particularily useful for automatic scaling of noisy data (see the screenshot example), compared to the use of MEAN and STD functions which can be biased by any high-magnitude values in X.

Default behavior of MINMAX is to return a vector of minimum and maximum values. So minmax(X) is an abreviation of minmax(X,[0 1]), and equivalent of [min(X(:)) max(X(:))]. Compared to the built-in functions MIN and MAX, it does not return a vector from matrix but returns a scalar by considering all elements of matrix X. Also, it removes any NaN values (returns NaN only if all X values are NaN).

Type 'doc minmax' for syntax, help and other examples.

引用格式

François Beauducel (2024). MINMAX: Generalized median-style filter (https://www.mathworks.com/matlabcentral/fileexchange/38573-minmax-generalized-median-style-filter), MATLAB Central File Exchange. 检索来源 .

MATLAB 版本兼容性
创建方式 R13
兼容任何版本
平台兼容性
Windows macOS Linux
类别
Help CenterMATLAB Answers 中查找有关 Digital Filtering 的更多信息

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!
版本 已发布 发行说明
1.1.0.0

bug correction: now works also with X scalar.

1.0.0.0