comparison scripts/special-matrix/toeplitz.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 {} {} toeplitz (@var{c}) 27 ## @deftypefn {} {@var{T} =} toeplitz (@var{c})
28 ## @deftypefnx {} {} toeplitz (@var{c}, @var{r}) 28 ## @deftypefnx {} {@var{T} =} toeplitz (@var{c}, @var{r})
29 ## Return the Toeplitz matrix constructed from the first column @var{c}, 29 ## Return the Toeplitz matrix constructed from the first column @var{c},
30 ## and optionally the first row @var{r}. 30 ## and optionally the first row @var{r}.
31 ## 31 ##
32 ## If the second argument is omitted, the first row is taken to be the 32 ## If the second argument is omitted, the first row is taken to be the
33 ## same as the first column. If the first element of @var{r} is not the same 33 ## same as the first column. If the first element of @var{r} is not the same
61 ## 61 ##
62 ## @end ifnottex 62 ## @end ifnottex
63 ## @seealso{hankel} 63 ## @seealso{hankel}
64 ## @end deftypefn 64 ## @end deftypefn
65 65
66 function retval = toeplitz (c, r) 66 function T = toeplitz (c, r)
67 67
68 if (nargin < 1) 68 if (nargin < 1)
69 print_usage (); 69 print_usage ();
70 endif 70 endif
71 71
88 nc = length (r); 88 nc = length (r);
89 endif 89 endif
90 90
91 if (nr == 0 || nc == 0) 91 if (nr == 0 || nc == 0)
92 ## Empty matrix. 92 ## Empty matrix.
93 retval = zeros (nr, nc, class (c)); 93 T = zeros (nr, nc, class (c));
94 return; 94 return;
95 endif 95 endif
96 96
97 ## If we have a single complex argument, we want to return a 97 ## If we have a single complex argument, we want to return a
98 ## Hermitian-symmetric matrix (actually, this will really only be 98 ## Hermitian-symmetric matrix (actually, this will really only be
110 110
111 ## Ignore the first element in r. 111 ## Ignore the first element in r.
112 ridx = ridx(ridx > 1); 112 ridx = ridx(ridx > 1);
113 113
114 ## Form matrix. 114 ## Form matrix.
115 retval = spdiags (repmat (c(cidx),nr,1),1-cidx,nr,nc) + ... 115 T = spdiags (repmat (c(cidx),nr,1),1-cidx,nr,nc) + ...
116 spdiags (repmat (r(ridx),nr,1),ridx-1,nr,nc); 116 spdiags (repmat (r(ridx),nr,1),ridx-1,nr,nc);
117 else 117 else
118 ## Concatenate data into a single column vector. 118 ## Concatenate data into a single column vector.
119 data = [r(end:-1:2)(:); c(:)]; 119 data = [r(end:-1:2)(:); c(:)];
120 120
121 ## Get slices. 121 ## Get slices.
122 slices = cellslices (data, nc:-1:1, nc+nr-1:-1:nr); 122 slices = cellslices (data, nc:-1:1, nc+nr-1:-1:nr);
123 123
124 ## Form matrix. 124 ## Form matrix.
125 retval = horzcat (slices{:}); 125 T = horzcat (slices{:});
126 endif 126 endif
127 127
128 endfunction 128 endfunction
129 129
130 130