Mercurial > octave
comparison scripts/statistics/median.m @ 30875:5d3faba0342e
doc: Ensure documentation lists output argument when it exists for all m-files.
For new users of Octave it is best to show explicit calling forms
in the documentation and to show a return argument when it exists.
* bp-table.cc, shift.m, accumarray.m, accumdim.m, bincoeff.m, bitcmp.m,
bitget.m, bitset.m, blkdiag.m, celldisp.m, cplxpair.m, dblquad.m, flip.m,
fliplr.m, flipud.m, idivide.m, int2str.m, interpft.m, logspace.m, num2str.m,
polyarea.m, postpad.m, prepad.m, randi.m, repmat.m, rng.m, rot90.m, rotdim.m,
structfun.m, triplequad.m, uibuttongroup.m, uicontrol.m, uipanel.m,
uipushtool.m, uitoggletool.m, uitoolbar.m, waitforbuttonpress.m, help.m,
__additional_help_message__.m, hsv.m, im2double.m, im2frame.m, javachk.m,
usejava.m, argnames.m, char.m, formula.m, inline.m, __vectorize__.m, findstr.m,
flipdim.m, strmatch.m, vectorize.m, commutation_matrix.m, cond.m, cross.m,
duplication_matrix.m, expm.m, orth.m, rank.m, rref.m, trace.m, vech.m, cast.m,
compare_versions.m, delete.m, dir.m, fileattrib.m, grabcode.m, gunzip.m,
inputname.m, license.m, list_primes.m, ls.m, mexext.m, movefile.m,
namelengthmax.m, nargoutchk.m, nthargout.m, substruct.m, swapbytes.m, ver.m,
verLessThan.m, what.m, fminunc.m, fsolve.m, fzero.m, optimget.m, __fdjac__.m,
matlabroot.m, savepath.m, campos.m, camroll.m, camtarget.m, camup.m, camva.m,
camzoom.m, clabel.m, diffuse.m, legend.m, orient.m, rticks.m, specular.m,
thetaticks.m, xlim.m, xtickangle.m, xticklabels.m, xticks.m, ylim.m,
ytickangle.m, yticklabels.m, yticks.m, zlim.m, ztickangle.m, zticklabels.m,
zticks.m, ellipsoid.m, isocolors.m, isonormals.m, stairs.m, surfnorm.m,
__actual_axis_position__.m, __pltopt__.m, close.m, graphics_toolkit.m, pan.m,
print.m, printd.m, __ghostscript__.m, __gnuplot_print__.m, __opengl_print__.m,
rotate3d.m, subplot.m, zoom.m, compan.m, conv.m, poly.m, polyaffine.m,
polyder.m, polyint.m, polyout.m, polyreduce.m, polyvalm.m, roots.m, prefdir.m,
prefsfile.m, profexplore.m, profexport.m, profshow.m, powerset.m, unique.m,
arch_rnd.m, arma_rnd.m, autoreg_matrix.m, bartlett.m, blackman.m, detrend.m,
durbinlevinson.m, fftconv.m, fftfilt.m, fftshift.m, fractdiff.m, hamming.m,
hanning.m, hurst.m, ifftshift.m, rectangle_lw.m, rectangle_sw.m, triangle_lw.m,
sinc.m, sinetone.m, sinewave.m, spectral_adf.m, spectral_xdf.m, spencer.m,
ilu.m, __sprand__.m, sprand.m, sprandn.m, sprandsym.m, treelayout.m, beta.m,
betainc.m, betaincinv.m, betaln.m, cosint.m, expint.m, factorial.m, gammainc.m,
gammaincinv.m, lcm.m, nthroot.m, perms.m, reallog.m, realpow.m, realsqrt.m,
sinint.m, hadamard.m, hankel.m, hilb.m, invhilb.m, magic.m, pascal.m, rosser.m,
toeplitz.m, vander.m, wilkinson.m, center.m, corr.m, cov.m, discrete_cdf.m,
discrete_inv.m, discrete_pdf.m, discrete_rnd.m, empirical_cdf.m,
empirical_inv.m, empirical_pdf.m, empirical_rnd.m, kendall.m, kurtosis.m,
mad.m, mean.m, meansq.m, median.m, mode.m, moment.m, range.m, ranks.m,
run_count.m, skewness.m, spearman.m, statistics.m, std.m, base2dec.m,
bin2dec.m, blanks.m, cstrcat.m, deblank.m, dec2base.m, dec2bin.m, dec2hex.m,
hex2dec.m, index.m, regexptranslate.m, rindex.m, strcat.m, strjust.m,
strtrim.m, strtrunc.m, substr.m, untabify.m, __have_feature__.m,
__prog_output_assert__.m, __run_test_suite__.m, example.m, fail.m, asctime.m,
calendar.m, ctime.m, date.m, etime.m:
Add return arguments to @deftypefn macros where they were missing. Rename
variables in functions (particularly generic "retval") to match documentation.
Rename some return variables for (hopefully) better clarity (e.g., 'ax' to 'hax'
to indicate it is a graphics handle to an axes object).
author | Rik <rik@octave.org> |
---|---|
date | Wed, 30 Mar 2022 20:40:27 -0700 |
parents | 796f54d4ddbf |
children | 597f3ee61a48 |
comparison
equal
deleted
inserted
replaced
30874:2b07748dbae3 | 30875:5d3faba0342e |
---|---|
22 ## <https://www.gnu.org/licenses/>. | 22 ## <https://www.gnu.org/licenses/>. |
23 ## | 23 ## |
24 ######################################################################## | 24 ######################################################################## |
25 | 25 |
26 ## -*- texinfo -*- | 26 ## -*- texinfo -*- |
27 ## @deftypefn {} {} median (@var{x}) | 27 ## @deftypefn {} {@var{y} =} median (@var{x}) |
28 ## @deftypefnx {} {} median (@var{x}, @var{dim}) | 28 ## @deftypefnx {} {@var{y} =} median (@var{x}, @var{dim}) |
29 ## Compute the median value of the elements of the vector @var{x}. | 29 ## Compute the median value of the elements of the vector @var{x}. |
30 ## | 30 ## |
31 ## When the elements of @var{x} are sorted, say | 31 ## When the elements of @var{x} are sorted, say |
32 ## @code{@var{s} = sort (@var{x})}, the median is defined as | 32 ## @code{@var{s} = sort (@var{x})}, the median is defined as |
33 ## @tex | 33 ## @tex |
58 ## | 58 ## |
59 ## If the optional @var{dim} argument is given, operate along this dimension. | 59 ## If the optional @var{dim} argument is given, operate along this dimension. |
60 ## @seealso{mean, mode} | 60 ## @seealso{mean, mode} |
61 ## @end deftypefn | 61 ## @end deftypefn |
62 | 62 |
63 function retval = median (x, dim) | 63 function y = median (x, dim) |
64 | 64 |
65 if (nargin < 1) | 65 if (nargin < 1) |
66 print_usage (); | 66 print_usage (); |
67 endif | 67 endif |
68 | 68 |
86 endif | 86 endif |
87 | 87 |
88 n = size (x, dim); | 88 n = size (x, dim); |
89 k = floor ((n+1) / 2); | 89 k = floor ((n+1) / 2); |
90 if (mod (n, 2) == 1) | 90 if (mod (n, 2) == 1) |
91 retval = nth_element (x, k, dim); | 91 y = nth_element (x, k, dim); |
92 else | 92 else |
93 retval = sum (nth_element (x, k:k+1, dim), dim, "native") / 2; | 93 y = sum (nth_element (x, k:k+1, dim), dim, "native") / 2; |
94 if (islogical (x)) | 94 if (islogical (x)) |
95 retval = logical (retval); | 95 y = logical (y); |
96 endif | 96 endif |
97 endif | 97 endif |
98 ## Inject NaNs where needed, to be consistent with Matlab. | 98 ## Inject NaNs where needed, to be consistent with Matlab. |
99 if (isfloat (x)) | 99 if (isfloat (x)) |
100 retval(any (isnan (x), dim)) = NaN; | 100 y(any (isnan (x), dim)) = NaN; |
101 endif | 101 endif |
102 | 102 |
103 endfunction | 103 endfunction |
104 | 104 |
105 | 105 |