Replace blocks by their contents

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.


unblock(b, <blockdomain, <Recurse>>)


unblock(b) replaces all blocks that appear as subexpressions in b by their contents.

unblock(b) replaces all blocks in b by the result of evaluating their content. Thus, unblock(block(a)) should in most cases be equivalent to a. The behavior of unblock may be controlled by additional arguments. If a second argument blockdomain is given, only blocks belonging to a domain that inherits from blockdomain are replaced by their content. If FALSE is provided as a third argument, only b is replaced by its content if it is a block of suitable type itself.

The call expr(b) replaces all transparent blocks in b by their content, without evaluating that content. Thus, expr(blockTransparent(a)) is similar to hold(a).

In case of nested blocks, only the outermost block is removed by both expr and unblock.


Example 1

A block is a sort of container that protects its content against evaluation:

y := 1:
bl:= block(1 + y)

Blocks are atomic; thus y and 1 are not visible as operands:

op(bl), nops(bl)

The content of a block may be extracted and evaluated using unblock:


delete y



Any object


Any domain that inherits from block



Return Values

In most cases, the object b.

See Also

MuPAD Functions