This is machine translation

Translated by Microsoft
Mouseover text to see original. Click the button below to return to the English verison of the page.

Note: This page has been translated by MathWorks. Please click here
To view all translated materals including this page, select Japan from the country navigator on the bottom of this page.


Absolute value of a real or complex number

MuPAD® notebooks are not recommended. 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.




abs(z) returns the absolute value of the number z.

For many constant expressions, abs returns the absolute value as an explicit number or expression. Cf. Example 1.

A symbolic call of abs is returned if the absolute value cannot be determined (e.g., because the argument involves identifiers). The result is subject to certain simplifications. In particular, abs extracts constant factors. Properties of identifiers are taken into account. See Example 2 and Example 3.

The expand function rewrites the absolute value of a product to a product of absolute values. E.g., expand(abs(x*y)) yields abs(x)*abs(y). Cf. Example 4.

The symbolic constants CATALAN, E, EULER, and PI are processed by abs. Cf. Example 5.

The absolute value of symbolic function calls can be defined via the slot "abs" of function environments. Cf. Example 7.

In the same way, the absolute value of domain elements can be defined via overloading. Cf. Example 8.

This function is automatically mapped to all entries of container objects such as arrays, lists, matrices, polynomials, sets, and tables.

Environment Interactions

abs respects properties of identifiers.


Example 1

For many constant expressions, the absolute value can be computed explicitly:

abs(1.2), abs(-8/3), abs(3 + I), abs(sqrt(-3))

abs(sin(42)), abs(PI^2 - 10), abs(exp(3) - tan(157/100))

abs(exp(3 + I) - sqrt(2))

Example 2

Symbolic calls are returned if the argument contains identifiers without properties:

abs(x), abs(x + 1), abs(sin(x + y))

The result is subject to some simplifications. In particular, abs splits off constant factors in products:

abs(PI*x*y), abs((1 + I)*x), abs(sin(4)*(x + sqrt(3)))

Example 3

abs is sensitive to properties of identifiers:

assume(x < 0):  abs(3*x), abs(PI - x), abs(I*x)


Example 4

The expand function produces products of abs calls:

abs(x*(y + 1)), expand(abs(x*(y + 1)))

Example 5

The absolute value of the symbolic constants PI, EULER, etc. are known:

abs(PI), abs(EULER + CATALAN^2)

Example 6

Expressions containing abs can be differentiated:

diff(abs(x), x),  diff(abs(x), x, x)

Example 7

The slot "abs" of a function environment f defines the absolute value of symbolic calls of f:


f := funcenv(f):
f::abs := x -> f(x)/sign(f(x)):

delete f:

Example 8

The slot "abs" of a domain d defines the absolute value of its elements:

d := newDomain("d"):
e1 := new(d, 2):
e2 := new(d, x):
d::abs := x -> abs(extop(x, 1)):
abs(e1), abs(e2)

delete d, e1, e2:



An arithmetical expression


A container object: an array, an hfarray, a list, a matrix, a polynomial, a set, or a table.

Return Values

arithmetical expression or a container object containing such expressions

Overloaded By


See Also

MuPAD Functions

Was this topic helpful?