Maple Student Edition
Maple Personal Edition
Maple Player for iPad
Maple T.A. - Testing & Assessment
Maple T.A. MAA Placement Test Suite
Möbius - Online Courseware
Machine Design / Industrial Automation
System Simulation and Analysis
Model development for HIL
Plant Modeling for Control Design
Other Application Areas
High Schools & Two-Year Colleges
Testing & Assessment
High Performance Computing
Maple Ambassador Program
MapleSim Model Gallery
User Case Studies
Exploring Engineering Fundamentals
Teaching Concepts with Maple
Maplesoft Welcome Center
Teacher Resource Center
Student Help Center
select - selection from an expression
remove - removal from an expression
selectremove - selection or removal from an expression
select(f, e, b1, ..., bn)
select[flatten](f, e, b1, ..., bn)
remove(f, e, b1, ..., bn)
remove[flatten](f, e, b1, ..., bn)
selectremove(f, e, b1, ..., bn)
selectremove[flatten](f, e, b1, ..., bn)
b1, ..., bn
(optional) extra arguments
The select function selects the operands of the expression e which satisfy the Boolean-valued procedure f, and creates a new object of the same type as e. Those operands for which f does not return true are discarded in the newly created object.
When e is an ordered expression, such as a list or unevaluated function call, the operands of the output retain their relative order. If the expression e is an expression of type ^ and the result consists only of an exponent with a null base, then the output is undefined.
The remove function does the opposite of select. It removes the operands of e which satisfy f and creates a new object.
The selectremove function behaves in the same manner as select(..) and remove(..), except that the result is computed efficiently, in a single pass over expression e.
Additional arguments b1, ..., bn are passed to f.
When e is an Array, Matrix, or Vector, the select[flatten] form can be used. This will cause the result to be flattened to a one-dimensional structure with all discarded elements removed (as opposed to having the discarded elements replaced with NULL).
A typical application that uses select and remove is to split the factors of a product, e, into those which depend on a variable x and those which do not (that is, constants). This can be accomplished by using v := select(has,e,x); followed by c:=remove⁡has,e,x. It is more efficient, however, to use v,c:=selectremove⁡has,e,x. Do not try to compute c:=ev. Because of the way Maple simplifies expressions, factors do not cancel out in general. See the last example below.
The flatten option was introduced in Maple 17.
For more information on Maple 17 changes, see Updates in Maple 17.
The select, remove and selectremove commands are thread-safe as of Maple 15.
For more information on thread safety, see index/threadsafe.
The following example selects any entries of a matrix matching a certain criteria, showing NULL for any entries that do not match. To see an example of removing any rows or columns that do not match a given criteria, see the Working with Subsections of Data - Extracting Data section in the LA_syntax_shortcuts page.
member, membertype, selectfun
Download Help Document