Evaluation is one of the most common mathematical operations.
Therefore, it is important to understand how and when MuPAD^{®} performs
evaluations. For example, assign the value 2 + 2
to
the variable y
. Instead of assigning the expression 2 + 2
, MuPAD evaluates this
expression, and assigns the result of the evaluation, the value 4,
to the variable y
:
y := 2 + 2: y
The variable y
is an identifier, and the
number 4 is the value of that identifier. Values of identifiers are
not always numbers. For example, a value of an identifier can also
contain identifiers. In the following assignment, y
is
an identifier, and the expression a + x
is
the value of that identifier:
y := a + x
The value of y
is a sum of two identifiers, a
and x
.
You can assign a value to any of these identifiers. For example, assign
the value 10 to the identifier a
. Now, MuPAD recognizes
that a
is equal to 10. Therefore, the system evaluates
the value a + x
of the identifier y
to
the expression x + 10
:
a := 10: y
Note: The value of an identifier is the value computed at the time of assignment. |
The value of the identifier y
is still x + a
.
If you assign any other value to a
, MuPAD evaluates y
using
this new value:
a := 15: y
Now, assign the value 10 to the identifier a
,
and then assign the expression x + a
to y
.
As in the previous example, MuPAD evaluates the identifier y
and
returns the expression x + 10
:
a := 10: y := a + x: y
Although the evaluation returns the same result as in the previous
example, the value of y
is different. Here the
value of y
is the expression x + 10
.
This value does not depend of the identifier a
:
a := 15: y
For further computations, clear the identifiers a
, x
,
and y
:
delete a, x, y
The value of an identifier can be any MuPAD object. For example, the value of an identifier can be a list:
list := [x^k $ k = 1..10]
If later you assign the value to x
, the evaluation
of the identifier list
changes accordingly:
x := 1/2: list
MuPAD applies the same evaluation mechanism to function
names. For example, assign the function call f( π )
to
the identifier y
:
y := f(PI)
Now, assign the function sin
to f
.
If you evaluate the identifier y
, the system replaces
the identifier f
by its value sin
.
Then, the system evaluates the call sin( π )
and
returns 0:
f := sin: y
If you change or delete the value of f
, the
evaluation of f( π )
changes accordingly:
f := cos: y
delete f: y