Documentation |
Insert a value (evaluate at a point)
This functionality does not run in MATLAB.
f | x = v evalAt(f, x = v) f | ( x_{1}= v_{1}, x_{2}= v_{2}, … ) evalAt(f, x_{1} = v_{1}, x_{2} = v_{2}, …) evalAt(f, x_{1} = v_{1}, x_{2} = v_{2}, …) f | [x_{1}= v_{1}, x_{2}= v_{2}, …] evalAt(f, [x_{1} = v_{1}, x_{2} = v_{2}, …]) f | {x_{1}= v_{1}, x_{2}= v_{2}, …} evalAt(f, {x_{1} = v_{1}, x_{2} = v_{2}, …})
evalAt(f, x = v) substitutes x = v in the object f and evaluates.
The MuPAD^{®} statement f | x = v serves as a shortcut for calling evalAt(f, x = v).
evalAt(f, x = v) evaluates the object f at the point x = v. Essentially, it is the same as eval ( subs(f, x = v)), but limited to free (as opposed to bound) variables.
Several substitutions of indeterminates by values can be done by evalAt(f, x1 = v1, x2 = v2, ...). This is equivalent to evalAt(... (evalAt(evalAt(f, x1 = v1), x2 = v2), ...), i.e., x1 = v1 is substituted in f, then x2 = v2 is substituted in the result etc. E.g., evalAt(x, x = y, y = 1) yields 1.
Note that the three (equivalent) calls evalAt(f, (x1 = v1, x2 = v2, ...)), evalAt(f, [x1 = v1, x2 = v2, ...]), evalAt(f, {x1 = v1, x2 = v2, ...}) do parallel substitutions, i.e., the substitutions x1 = v1, x2 = v2 are all performed on f simultaneously. Consequently, evalAt(x, [x = y, y = 1]) yields y, not 1!
The operator | provides a shortcut for calling evalAt:
The command f | x = v is equivalent to calling evalAt(f, x = v).
Similarly, f | (x1=v1, x2=v2, ...) is equivalent to evalAt(f, (x1=v1, x2=v2, ...)), f | [x1=v1, x2=v2, ...] is equivalent to evalAt(f, [x1=v1, x2=v2, ...]), f | [x1=v1, x2=v2, ...} is equivalent to evalAt(f, {x1=v1, x2=v2, ...}).
Calls to evalAt and corresponding statements using the operator | are equivalent:
evalAt(x^2 + sin(x), x = 1); x^2 + sin(x) | x = 1
We use the operator | to evaluate an expression f representing a function of x at several points:
f := x + exp(x): f | x = 3; f | x = 5.0; f | x = y;
We create a matrix with symbolic entries and evaluate the matrix with various values for the symbols:
A := matrix([[x, sin(PI*x)], [2, y]]); A | x = a; A | [x = a, y = b]
delete f, A:
We do several substitutions simultaneously:
f := cos(y) + sin(x) + x*y; f | (x = 1, y = 2); f | [x = 1, y = 2]; f | {x = 1, y = 2};
delete f: