Maple Professionel
Maple Académique
Maple Edition Étudiant
Maple Personal Edition
Maple Player
Maple Player for iPad
MapleSim Professionel
MapleSim Académique
Maple T.A. - Suite d'examens de classement
Maple T.A. MAA Placement Test Suite
Möbius - Didacticiels de mathématiques en ligne
Machine Design / Industrial Automation
Aéronautique
Ingénierie des véhicules
Robotics
Energie
System Simulation and Analysis
Model development for HIL
Modélisation du procédé pour la conception de systèmes de contrôle
Robotics/Motion Control/Mechatronics
Other Application Areas
Enseignement des mathématiques
Enseignement de l’ingénierie
Enseignement secondaire et supérieur (CPGE, BTS)
Tests et évaluations
Etudiants
Modélisation financière
Recherche opérationnelle
Calcul haute performance
Physique
Webinaires en direct
Webinaires enregistrés
Agenda des évènements
Forum MaplePrimes
Blog Maplesoft
Membres Maplesoft
Maple Ambassador Program
MapleCloud
Livres blancs techniques
Bulletin électronique
Livres Maple
Math Matters
Portail des applications
Galerie de modèles MapleSim
Cas d'Etudes Utilisateur
Exploring Engineering Fundamentals
Concepts d’enseignement avec Maple
Centre d’accueil utilisateur Maplesoft
Centre de ressources pour enseignants
Centre d’assistance aux étudiants
evalindets - transform all subexpressions of a given type
Calling Sequence
evalindets( expr, atype, transformer, rest )
evalindets[flat]( expr, atype, transformer, rest )
Parameters
expr
-
anything; any Maple expression
atype
type; any Maple type expression
transformer
anything; an expression (typically, a procedure) to be called on each subexpression processed
rest
anything; (optional) expression sequence of extra arguments to be passed to transformer
Description
The command evalindets is a particular combination of calls to eval and indets that allows you to efficiently transform all subexpressions of a given type by some algorithm. It encapsulates a common "pattern" used in expression manipulation and transformation.
Each subexpression of type atype is transformed by the supplied transformer procedure to produce a "replacement" for it. Then, each subexpression is replaced in the original expression using eval with the corresponding transformed expression.
The flat option indicates that the subexpressions of expr of type atype are not nested. This provides a hint to Maple that it can use a somewhat faster algorithm in this special case. If the flat option is passed and nesting occurs, unexpected results may be be produced.
Examples
This example changes every call to to a call to .
Shift all symbols by a constant of .
Expand all products in an expression.
Using evalindets, you can avoid expanding things you might not want expanded.
Optional arguments may be passed to the transformer.
See Also
eval, frontend, indets, subs, subsindets, type
Download Help Document