Mercurial > octave
view doc/interpreter/set.txi @ 21226:a55b8ece1ecd
reorganize octave_config_info again
* build-env-features.sh: Don't include ENABLE_ items in the output.
* toplev.cc (find_config_info): New static function.
(Foctave_config_info): Put Octave configuration info in the main
struct. Put the build system features and build environment info in
substructures. Allow searching of all elements by keyword.
* __have_feature__.m, doc/interpreter/testfun.txi:
Fix name of build features substructure element.
* geometryimages.m, interpimages.m, plotimages.m, sparseimages.m,
splineimages.m: Use __have_feature__ to check for OSMESA.
author | John W. Eaton <jwe@octave.org> |
---|---|
date | Mon, 08 Feb 2016 23:14:56 -0500 |
parents | 4197fc428c7d |
children | bac0d6f07a3e |
line wrap: on
line source
@c Copyright (C) 1996-2015 John W. Eaton @c @c This file is part of Octave. @c @c Octave is free software; you can redistribute it and/or modify it @c under the terms of the GNU General Public License as published by the @c Free Software Foundation; either version 3 of the License, or (at @c your option) any later version. @c @c Octave is distributed in the hope that it will be useful, but WITHOUT @c ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or @c FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License @c for more details. @c @c You should have received a copy of the GNU General Public License @c along with Octave; see the file COPYING. If not, see @c <http://www.gnu.org/licenses/>. @node Sets @chapter Sets Octave has a number of functions for managing sets of data. A set is defined as a collection of unique elements and is typically represented by a vector of numbers sorted in ascending order. Any vector or matrix can be converted to a set by removing duplicates through the use of the @code{unique} function. However, it isn't necessary to explicitly create a set as all of the functions which operate on sets will convert their input to a set before proceeding. @DOCSTRING(unique) @menu * Set Operations:: @end menu @node Set Operations @section Set Operations Octave supports several basic set operations. Octave can compute the union, intersection, and difference of two sets. Octave also supports the @emph{Exclusive Or} set operation. The functions for set operations all work in the same way by accepting two input sets and returning a third set. As an example, assume that @code{a} and @code{b} contains two sets, then @example union (a, b) @end example @noindent computes the union of the two sets. Finally, determining whether elements belong to a set can be done with the @code{ismember} function. Because sets are ordered this operation is very efficient and is of order O(log2(n)) which is preferable to the @code{find} function which is of order O(n). @DOCSTRING(intersect) @DOCSTRING(union) @DOCSTRING(setdiff) @DOCSTRING(setxor) @DOCSTRING(ismember) @DOCSTRING(powerset)