assuming
, _assuming
Set temporary assumption
MuPAD® notebooks will be removed in a future release. Use MATLAB® live scripts instead.
MATLAB live scripts support most MuPAD functionality, though there are some differences. For more information, see Convert MuPAD Notebooks to MATLAB Live Scripts.
calculation
assumingcondition
calculation
assuming (expr
,set
) _assuming(calculation
,condition
) _assuming(calculation
, (expr
,set
))
calculation assuming condition
evaluates calculation
under
the assumption that condition
is true for that
calculation.
calculation assuming(expr, set)
temporarily
attaches the property set
to the identifier or
expression expr
and evaluates calculation
.
This call ignores all previous assumptions containing identifiers
used in expr
.
calculation assuming condition
is equivalent
to _assuming(calculation, condition)
.
calculation assuming (expr, set)
is equivalent
to _assuming(calculation, (expr, set))
.
assuming
sets temporary assumptions. Temporary
assumptions hold true only while the argument calculation
is
evaluated. After this evaluation, MuPAD^{®} removes these assumptions.
Therefore, they do not affect further computations. MuPAD also
removes temporary assumptions if the evaluation stops with an error.
assuming
temporarily overwrites existing
assumptions. If you have permanent assumptions, MuPAD ignores
them while evaluating calculation
. Instead, it
uses temporary assumptions set by assuming
.
If assumptions contain linear equations with one variable, assuming
solves
these equations. Then the command inserts the solutions into calculation
and
evaluates the result. See Example 6.
If expr
is a list, vector, or matrix, use
the syntaxes calculation assuming(expr, set)
and _assuming(calculation,
(expr, set))
. Here, set
is specified
as one of C_
, R_
, Q_
, Z_
, N_
, or an expression
constructed with the set operations, such as union
, intersect
, or minus
. set
also can
be a function of the Type
library, for example, Type::Real
, Type::Integer
, Type::PosInt
, and so
on.
Do not use the syntaxes calculation assuming (expr
in set)
(or its equivalent _assuming(calculation,
expr in set)
) and calculation assuming condition
(or
its equivalent _assuming(calculation, condition)
)
for nonscalar expr
.
Find the sign of the expression x^2 + 1
assuming
that the identifier x
represents a real number:
sign(x^2+1) assuming (x, Type::Real)
Simplify this sine function assuming that n
is
an integer:
simplify(sin(n*PI)) assuming n in Z_
Additional assumptions let you simplify some expressions. For example, compute the right limit of x^{p}:
limit(x^p, x = 0, Right)
Compute the right limit of the same expression for negative,
positive, and zero values of p
:
limit(x^p, x = 0, Right) assuming p < 0
limit(x^p, x = 0, Right) assuming p > 0
limit(x^p, x = 0, Right) assuming p = 0
Assumptions set by assuming
are temporary.
They do not affect any previous or future computations:
getprop(a); getprop(a) assuming a > 0; getprop(a)
If you already use a permanent assumption and want to add a
temporary assumption on the same object, do not use assuming
.
It temporarily overwrites the permanent assumption:
assume(x in Z_): solve(x^3  (44*x^2)/3 + (148*x)/3  80/3 = 0, x) assuming x < 5
Instead, use assumingAlso
:
solve(x^3  (44*x^2)/3 + (148*x)/3  80/3 = 0, x) assumingAlso x < 5
If assumptions contain linear equations with one variable, assuming
solves
the equations, inserts the solutions into the expression, and then
evaluates the expression:
a^2 + 1 assuming a  2 = 1;
assume
and assumeAlso
do
not solve equations:
assume(a  2 = 1) ; a^2 + 1

Any MuPAD command or expression that you want to evaluate under the temporary assumption. 

Equality, inequality, element of relation, or Boolean combination
(with the operators 

Identifier, mathematical expression, list, vector, or matrix containing identifiers. If 

Property representing a set of numbers or a set returned by For example, this set can be an element of 
assuming
returns the result of evaluating calculation
.
assume
 assumeAlso
 assumingAlso
 getprop
 is
 property::hasprop
 property::showprops
 unassume