14 lines
508 B
Matlab
14 lines
508 B
Matlab
function m = mymedian( x )
|
|
% returns the median of the vector x
|
|
xs = sort( x );
|
|
if ( length( xs ) == 0 ) % empty input vector
|
|
m = NaN;
|
|
elseif ( rem( length( xs ), 2 ) == 0 ) % even number of data values
|
|
index = length( xs )/2;
|
|
m = (xs( index ) + xs( index+1 ))/2; % average the two central elements
|
|
else % odd number of data values
|
|
index = (length( xs ) + 1)/2; % take the middle element
|
|
m = xs( index );
|
|
end
|
|
end
|