Maple Professional
Maple Academic
Maple Student Edition
Maple Personal Edition
Maple Player
Maple Player for iPad
MapleSim Professional
MapleSim Academic
Maple T.A. - Testing & Assessment
Maple T.A. MAA Placement Test Suite
Möbius - Online Courseware
Machine Design / Industrial Automation
Aerospace
Vehicle Engineering
Robotics
Power Industries
System Simulation and Analysis
Model development for HIL
Plant Modeling for Control Design
Robotics/Motion Control/Mechatronics
Other Application Areas
Mathematics Education
Engineering Education
High Schools & Two-Year Colleges
Testing & Assessment
Students
Financial Modeling
Operations Research
High Performance Computing
Physics
Live Webinars
Recorded Webinars
Upcoming Events
MaplePrimes
Maplesoft Blog
Maplesoft Membership
Maple Ambassador Program
MapleCloud
Technical Whitepapers
E-Mail Newsletters
Maple Books
Math Matters
Application Center
MapleSim Model Gallery
User Case Studies
Exploring Engineering Fundamentals
Teaching Concepts with Maple
Maplesoft Welcome Center
Teacher Resource Center
Student Help Center
Making Substitutions
Go to Maple Portal Maple Portal for Engineers Maple Portal for Math Educators
Introduction
In this document, you will learn different methods to substitute values for variables in your mathematical expression. Both simple substitutions, such as "evaluate when and substitutions of algebraic subexpressions, such as "evaluate when are explained.
Simple Substitutions
Substituting a value for a variable, , in an expression containing is the same as evaluating at the point . This is the terminology Maple uses to describe the problem. Knowing this terminology will make it much easier to remember the appropriate menus and commands (or at least, recognize them when you see them).
The following explains both interactive and command methods for evaluating an expression at a point.
Interactive Methods
Palettes
The Expression palette provides an "evaluate at a point" template, . Fill in the values of the template to evaluate your expression at a point.
For example, =
Tip: Use the [Tab] key to move through the placeholders in the template.
Context Menu
Right-click on the expression you wish to evaluate, and select Evaluate at a Point. A dialog is displayed which allows you to set variables for some or all of the variables in the expression.
For example, setting and gives:
Setting and leaving without a value gives:
Commands
The recommended command for substituting a value for a variable in an expression is the eval command.
To substitute multiple values, put them in a list.
Comparing eval and subs
Another command for making simple substitutions is the subs command. It is important to note that after making a substitution, the subs command does not evaluate the results. If the developer neglects to do the evaluation afterwards, this can result in unexpected behavior (and long debugging sessions!).
Using subs:
and the same question using eval:
Notice that the calling sequences for eval and subs are different: eval expects its first argument to be the expression and its second argument to be the substitution, while subs command takes the substitution expression as its first argument and the expression as its second argument.
The eval command knows how to correctly evaluate piecewise expressions, while subs may make substitutions that do not make sense mathematically. In the following example subs gives a division by zero error, but eval correctly evaluates the piecewise definition at .
Error, numeric exception: division by zero
For these reasons, the eval command is often preferable.
One feature of subs is that it allows a chain of substitutions. If you supply subs with a number of equations, the substitutions are applied sequentially beginning with the left-most equation:
eval does not provide that ability with a single call, so to obtain a similar chain of evaluations from eval, you must use nested calls:
For more examples comparing eval and subs, see eval.
Substituting for Combinations of Variables: algsubs
In the examples above, the substitutions are for variables as simple, stand-alone quantities. Sometimes we want to substitute for an entire subexpression involving multiple variables, such as replacing with
Our first attempt at making this substitution is to try the eval command. The eval command can substitute for any operand of the expression, such as
but it will only substitute for subexpressions that correspond to the operands of a Maple object. That is, it will only replace exact occurrences of an operand. This is called syntactic substitution. (The subs command also does syntactic substitution.)
The subexpression was not replaced with , because is not an operand of . See op for more information on operands.
For more powerful mathematical substitutions involving sums and products of variables we can use the algsubs command, which stands for algebraic substitution.
The value being substituted into the original expression is not limited to a simple symbol or value.
The algsubs command accepts some options for specifying the substitution mode and the ordering of variables. See algsubs for more details.
Note: Another approach is to use the simplify command with side relations. This command reduces the expression to normal form with respect to the equations you provide, and also allows you control over the final result by optionally specifying a monomial order for the variables. It may be a more appropriate choice if you need more control over the form of the final result. See simplify/siderels.
In summary,
eval does strict syntactic substitution and then evaluates the result. Use for simple applications of replacing a symbol by a value.
subs does strict syntactic substitution but does not evaluate the result. Use to substitute subexpressions into an expression.
algsubs does algebraic substitution. Use when a more powerful substitution is needed.
See Also
algsubs, eval, IntegrationTools[Change], op, simplify/siderels, subsop, trigsubs
Download Help Document