Median value of array
M = median( returns
the median value of
Ais a vector, then
median(A)returns the median value of
Ais a nonempty matrix, then
median(A)treats the columns of
Aas vectors and returns a row vector of median values.
Ais an empty 0-by-0 matrix,
Ais a multidimensional array, then
median(A)treats the values along the first array dimension whose size does not equal
1as vectors. The size of this dimension becomes
1while the sizes of all other dimensions remain the same.
median computes natively in the numeric class
A, such that
class(M) = class(A).
M = median(
computes the median over all elements of
A. This syntax is valid
for MATLAB® versions R2018b and later.
Median of Matrix Columns
Define a 4-by-3 matrix.
A = [0 1 1; 2 3 2; 1 3 2; 4 2 2]
A = 4×3 0 1 1 2 3 2 1 3 2 4 2 2
Find the median value of each column.
M = median(A)
M = 1×3 1.5000 2.5000 2.0000
For each column, the median value is the mean of the middle two numbers in sorted order.
Median of Matrix Rows
Define a 2-by-3 matrix.
A = [0 1 1; 2 3 2]
A = 2×3 0 1 1 2 3 2
Find the median value of each row.
M = median(A,2)
M = 2×1 1 2
For each row, the median value is the middle number in sorted order.
Median of 3-D Array
Create a 1-by-3-by-4 array of integers between
rng('default') A = randi(10,[1,3,4])
A = A(:,:,1) = 9 10 2 A(:,:,2) = 10 7 1 A(:,:,3) = 3 6 10 A(:,:,4) = 10 2 10
Find the median values of this 3-D array along the second dimension.
M = median(A)
M = M(:,:,1) = 9 M(:,:,2) = 7 M(:,:,3) = 6 M(:,:,4) = 10
This operation produces a 1-by-1-by-4 array by computing the median of the three values along the second dimension. The size of the second dimension is reduced to
Compute the median along the first dimension of
M = median(A,1); isequal(A,M)
ans = logical 1
This command returns the same array as
A because the size of the first dimension is
Median of Array Page
Create a 3-D array and compute the median over each page of data (rows and columns).
A(:,:,1) = [2 4; -2 1]; A(:,:,2) = [6 2; -5 3]; A(:,:,3) = [4 4; 7 -3]; M1 = median(A,[1 2])
M1 = M1(:,:,1) = 1.5000 M1(:,:,2) = 2.5000 M1(:,:,3) = 4
Starting in R2018b, to compute the median over all dimensions of an array, you can either specify each dimension in the vector dimension argument, or use the
M2 = median(A,[1 2 3])
M2 = 2.5000
Mall = median(A,'all')
Mall = 2.5000
Median of 8-Bit Integer Array
Define a 1-by-4 vector of 8-bit integers.
A = int8(1:4)
A = 1x4 int8 row vector 1 2 3 4
Compute the median value.
M = median(A),
M = int8 3
ans = 'int8'
M is the mean of the middle two numbers in sorted order returned as an 8-bit integer.
Create a vector and compute its median, excluding
A = [1.77 -0.005 3.98 -2.95 NaN 0.34 NaN 0.19]; M = median(A,'omitnan')
M = 0.2650
A — Input array
vector | matrix | multidimensional array
Input array, specified as a vector, matrix, or multidimensional
A can be a numeric array, ordinal
dim — Dimension to operate along
positive integer scalar
Dimension to operate along, specified as a positive integer scalar. If no value is specified, then the default is the first array dimension whose size does not equal 1.
dim indicates the dimension whose
length reduces to
while the sizes of all other dimensions remain the same.
Consider a two-dimensional input array,
dim = 1, then
median(A,1)returns a row vector containing the median of the elements in each column.
dim = 2, then
median(A,2)returns a column vector containing the median of the elements in each row.
vecdim — Vector of dimensions
vector of positive integers
Vector of dimensions, specified as a vector of positive integers. Each element represents a dimension of the input array. The lengths of the output in the specified operating dimensions are 1, while the others remain the same.
Consider a 2-by-3-by-3 input array,
median(A,[1 2]) returns a 1-by-1-by-3 array whose
elements are the medians of each page of
'includenan' (default) |
NaN condition, specified as one of these values:
'includenan'— the median of input containing
NaNvalues is also
NaNvalues appearing in the input are ignored. Note: the
NaNflags are not set to
You also can specify additional values for some data types.
For ordinal categorical arrays, MATLAB interprets the median of an even number of elements as follows:
|If the number of categories between the middle two values is ...||Then the median is ...|
|zero (values are from consecutive categories)||larger of the two middle values|
|an odd number||value from category occurring midway between the two middle values|
|an even number||value from larger of the two categories occurring midway between the two middle values|
Calculate with arrays that have more rows than fit in memory.
Usage notes and limitations:
A must be a column vector to compute
median in the first dimension.
For more information, see Tall Arrays.
C/C++ Code Generation
Generate C and C++ code using MATLAB® Coder™.
Usage notes and limitations:
dimmust be a constant.
Run code in the background using MATLAB®
backgroundPool or accelerate code with Parallel Computing Toolbox™
This function fully supports thread-based environments. For more information, see Run MATLAB Functions in Thread-Based Environment.
Accelerate code by running on a graphics processing unit (GPU) using Parallel Computing Toolbox™.
This function fully supports GPU arrays. For more information, see Run MATLAB Functions on a GPU (Parallel Computing Toolbox).
Partition large arrays across the combined memory of your cluster using Parallel Computing Toolbox™.
This function fully supports distributed arrays. For more information, see Run MATLAB Functions with Distributed Arrays (Parallel Computing Toolbox).