Mercurial > hg > octave-lyh
diff doc/interpreter/tips.txi @ 14093:050bc580cb60 stable
doc: Various docstring improvements before 3.6.0 release.
* NEWS, aspell-octave.en.pws, intro.txi, oop.txi, testfun.txi, tips.txi,
FIRfilter.m, FIRfilter_aggregation.m, polynomial.m, polynomial_superiorto.m,
usejava.m, pcg.m, pcr.m, nchoosek.m, validatestring.m, assert.m, weekday.m,
cellfun.cc, error.cc, strfns.cc: Various docstring improvements before 3.6.0
release.
author | Rik <octave@nomad.inbox5.com> |
---|---|
date | Wed, 21 Dec 2011 19:46:57 -0800 |
parents | a1e386b9ef4b |
children | 951eacaf9381 |
line wrap: on
line diff
--- a/doc/interpreter/tips.txi +++ b/doc/interpreter/tips.txi @@ -689,15 +689,17 @@ @example -*- texinfo -*- -@@deftypefn @{Function File@} @{@} nchoosek (@@var@{n@}, @@var@{k@}) +@@deftypefn @{Function File@} @{@@var@{c@} =@} nchoosek (@@var@{n@}, @@var@{k@}) +@@deftypefnx @{Function File@} @{@@var@{c@} =@} nchoosek (@@var@{set@}, @@var@{k@}) -Compute the binomial coefficient or all combinations of -@@var@{n@}. If @@var@{n@} is a scalar then, calculate the -binomial coefficient of @@var@{n@} and @@var@{k@}, defined as +Compute the binomial coefficient or all combinations of a set of items. +If @@var@{n@} is a scalar then calculate the binomial coefficient +of @@var@{n@} and @@var@{k@} which is defined as @@tex $$ @{n \choose k@} = @{n (n-1) (n-2) \cdots (n-k+1) \over k!@} + = @{n! \over k! (n-k)!@} $$ @@end tex @@ifnottex @@ -705,86 +707,161 @@ @@example @@group / \ - | n | n (n-1) (n-2) @dots{} (n-k+1) - | | = ------------------------- - | k | k! + | n | n (n-1) (n-2) @@dots@{@} (n-k+1) n! + | | = ------------------------- = --------- + | k | k! k! (n-k)! \ / @@end group @@end example + @@end ifnottex +@@noindent +This is the number of combinations of @@var@{n@} items taken in groups of +size @@var@{k@}. + +If the first argument is a vector, @@var@{set@}, then generate all +combinations of the elements of @@var@{set@}, taken @@var@{k@} at a time, with +one row per combination. The result @@var@{c@} has @@var@{k@} columns and +@@w@{@@code@{nchoosek (length (@@var@{set@}), @@var@{k@})@}@} rows. + +For example: + +How many ways can three items be grouped into pairs? -If @@var@{n@} is a vector, this generates all combinations -of the elements of @@var@{n@}, taken @@var@{k@} at a time, -one row per combination. The resulting @@var@{c@} has size -@@code@{[nchoosek (length (@@var@{n@}),@@var@{k@}), @@var@{k@}]@}. +@@example +@@group +nchoosek (3, 2) + @@result@{@} 3 +@@end group +@@end example + +What are the possible pairs? -@@code@{nchoosek@} works only for non-negative integer arguments; use -@@code@{bincoeff@} for non-integer scalar arguments and for using vector -arguments to compute many coefficients at once. +@@example +@@group +nchoosek (1:3, 2) + @@result@{@} 1 2 + 1 3 + 2 3 +@@end group +@@end example -@@seealso@{bincoeff@} +@@code@{nchoosek@} works only for non-negative, integer arguments. Use +@@code@{bincoeff@} for non-integer and negative scalar arguments, or for +computing many binomial coefficients at once with vector inputs +for @@var@{n@} or @@var@{k@}. + +@@seealso@{bincoeff, perms@} @@end deftypefn @end example - +@noindent which demonstrates most of the concepts discussed above. @iftex This documentation string renders as -@c Note actually use the output of info below rather than try and -@c reproduce it here to prevent it looking different than how it would +@c Note: use the actual output of info below, rather than try and +@c reproduce it here to prevent it looking different from how it would @c appear with info. @example -@group -- Function File: C = nchoosek (N, K) - Compute the binomial coefficient or all combinations - of N. If N is a scalar then, calculate the binomial - coefficient of N and K, defined as + -- Function File: C = nchoosek (SET, K) + Compute the binomial coefficient or all combinations of a set of + items. + + If N is a scalar then calculate the binomial coefficient of N and + K which is defined as / \ - | n | n (n-1) (n-2) @dots{} (n-k+1) n! + | n | n (n-1) (n-2) ... (n-k+1) n! | | = ------------------------- = --------- | k | k! k! (n-k)! \ / - If N is a vector generate all combinations of the - elements of N, taken K at a time, one row per - combination. The resulting C has size `[nchoosek - (length (N), K), K]'. + This is the number of combinations of N items taken in groups of + size K. + + If the first argument is a vector, SET, then generate all + combinations of the elements of SET, taken K at a time, with one + row per combination. The result C has K columns and + `nchoosek (length (SET), K)' rows. - `nchoosek' works only for non-negative integer - arguments; use `bincoeff' for non-integer scalar - arguments and for using vector arguments to compute - many coefficients at once. + For example: + + How many ways can three items be grouped into pairs? + + nchoosek (3, 2) + => 3 + + What are the possible pairs? - See also: bincoeff. -@end group -@end example + nchoosek (1:3, 2) + => 1 2 + 1 3 + 2 3 + + `nchoosek' works only for non-negative, integer arguments. Use + `bincoeff' for non-integer and negative scalar arguments, or for + computing many binomial coefficients at once with vector inputs + for N or K. -using info, whereas in a printed documentation using @TeX{} it will appear -as + See also: bincoeff, perms +@end example +@noindent +using info, whereas in a printed documentation using @TeX{} it will +appear as -@deftypefn {Function File} {@var{c} =} nchoosek (@var{n}, @var{k}) +@deftypefn {Function File} {@var{c} =} nchoosek (@var{n}, @var{k}) +@deftypefnx {Function File} {@var{c} =} nchoosek (@var{set}, @var{k}) -Compute the binomial coefficient or all combinations of @var{n}. -If @var{n} is a scalar then, calculate the binomial coefficient -of @var{n} and @var{k}, defined as +Compute the binomial coefficient or all combinations of a set of items. + +If @var{n} is a scalar then calculate the binomial coefficient +of @var{n} and @var{k} which is defined as @tex $$ {n \choose k} = {n (n-1) (n-2) \cdots (n-k+1) \over k!} + = {n! \over k! (n-k)!} $$ @end tex -If @var{n} is a vector generate all combinations of the elements -of @var{n}, taken @var{k} at a time, one row per combination. The -resulting @var{c} has size @code{[nchoosek (length (@var{n}), -@var{k}), @var{k}]}. +@noindent +This is the number of combinations of @var{n} items taken in groups of +size @var{k}. + +If the first argument is a vector, @var{set}, then generate all +combinations of the elements of @var{set}, taken @var{k} at a time, with +one row per combination. The result @var{c} has @var{k} columns and +@w{@code{nchoosek (length (@var{set}), @var{k})}} rows. + +For example: + +How many ways can three items be grouped into pairs? -@code{nchoosek} works only for non-negative integer arguments; use -@code{bincoeff} for non-integer scalar arguments and for using vector -arguments to compute many coefficients at once. +@example +@group +nchoosek (3, 2) + @result{} 3 +@end group +@end example + +What are the possible pairs? -@seealso{bincoeff} +@example +@group +nchoosek (1:3, 2) + @result{} 1 2 + 1 3 + 2 3 +@end group +@end example + +@code{nchoosek} works only for non-negative, integer arguments. Use +@code{bincoeff} for non-integer and negative scalar arguments, or for +computing many binomial coefficients at once with vector inputs for @var{n} +or @var{k}. + +@seealso{bincoeff, perms} @end deftypefn @end iftex