Reorder matrix rows or columns
DSP System Toolbox / Math Functions / Matrices and Linear Algebra / Matrix Operations

The Permute Matrix block reorders the rows or columns of an
M-by-N input matrix A as
specified by indexing input P.
A — Input matrixInput matrix, specified as a scalar, vector, or matrix.
Data Types: single | double | int8 | int16 | int32 | int64 | uint8 | uint16 | uint32 | uint64 | Boolean | fixed point | enumerated
P — Index matrixIndex matrix, specified as a scalar or vector.
Data Types: single | double | int8 | int16 | int32 | int64 | uint8 | uint16 | uint32 | uint64 | Boolean | enumerated
Port_1 — Output signalOutput signal, specified as a vector or matrix.
Data Types: single | double | int8 | int16 | int32 | int64 | uint8 | uint16 | uint32 | uint64 | Boolean | fixed point | enumerated
Permute — Permute methodColumns (default) | RowsMethod of constructing the output matrix by permuting rows or columns of the input.
When the Permute parameter is set to:
Rows –– The block uses the rows of
A to create a matrix that has the same
column dimension. Input P is a
length-L vector whose elements determine
where each row from A must be placed in the
L-by-N output
matrix.
y = [A(P(1),:) ; A(P(2),:) ; A(P(3),:) ; ... ; A(P(end),:)] % Equivalent MATLAB code
For row permutation, the block treats the
length-M unoriented vector input at the
port A as an M-by-1 matrix.
Columns –– The block uses the
columns of A to create a matrix that has the
same row dimension. Input P is a
length-L vector whose elements determine
where each column from A must be placed in
the M-by-L output
matrix.
% Equivalent MATLAB code y = [A(:,P(1)) A(:,P(2)) A(:,P(3)) ... A(:,P(end))]
For column permutation, the block treats the
length-N unoriented vector input at port
A as a 1-by-N
matrix.
Index mode — Index modeZero-based (default) | One-basedWhen set to One-based, a value of
1 in the permutation vector P
refers to the first row or column of the input matrix A.
When set to Zero-based, a value of
0 in P refers to the first row or
column of A.
Invalid permutation index — Response to an invalid index valueClip index (default) | Clip and warn | Generate errorResponse to an invalid index value. When an index value in input
P references a nonexistent row or column of matrix
A, the block reacts as specified in this parameter.
These options are available:
Clip index –– Clip the index to the
nearest valid value (1 or M for row permutation and 1 or N for
column permutation) and do not issue an alert.
Example: For a 3-by-7 input matrix, a column index of 9 is clipped
to 7 and a row index of -2 is clipped to 1.
Clip and warn –– Display a warning
message in the MATLAB® Command Window and clip the index as described in the
preceding bullet.
Generate error –– Display an error
dialog box and terminate the simulation.
Tunable: Yes
Error when length of P is not equal to Permute dimension size — Error message for P lengthoff (default) | onOption to display an error dialog box and terminate the simulation when
the length of the permutation vector P is not equal to
the number of rows or columns of the input matrix
A.
You can choose to open an error dialog box and terminate the simulation by
setting this parameter to on.
Data Types |
|
Direct Feedthrough |
|
Multidimensional Signals |
|
Variable-Size Signals |
|
Zero-Crossing Detection |
|
Generated code relies on memcpy or
memset functions (string.h) under certain
conditions.

