14 lines
470 B
Matlab
14 lines
470 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
|