Permute Matrix
Перестановка строк или столбцов матрицы.
Описание
Блок Permute Matrix формирует новую матрицу из столбцов (строк) исходной матрицы путем их перестановки и/или копирования. Блок переупорядочивает строки или столбцы входной матрицы A размером M на N в соответствии с номерами столбцов (строк), полученными со входа P.
Порты
Вход
A — входная матрица
скаляр
| вектор
| матрица
Исходная матрица.
Типы данных: Float16
, Float32
, Float64
, Int8
, Int16
, Int32
, Int64
, UInt8
, UInt16
, UInt32
, UInt64
, Bool
Поддержка комплексных чисел: Да
P — номера столбцов (строк) для перестановки
скаляр
| вектор
| матрица
Номера столбцов (строк) матрицы A, из которых будет формироваться новая матрица. Скаляр или вектор.
Типы данных: Float16
, Float32
, Float64
, Int8
, Int16
, Int32
, Int64
, UInt8
, UInt16
, UInt32
, UInt64
Поддержка комплексных чисел: нет
Выход
Port_1 — выходная матрица
скаляр
| вектор
| матрица
Выходная матрица, сформированная путем перестановки строк или столбцов входной. Тип данных на выходе такой же, как и на входе. Размерность исходной матрицы сохраняется.
Типы данных: Float16
, Float32
, Float64
, Int8
, Int16
, Int32
, Int64
, UInt8
, UInt16
, UInt32
, UInt64
, Bool
Поддержка комплексных чисел: Да
Параметры
Permute — метод перестановки
Columns (по умолчанию)
| Rows
Задает, будут ли переставлены столбцы или строки входной матрицы для получения выходной.
Если параметр Permute имеет значение:
-
Rows
— блок использует строки входной матрицы A для создания матрицы, имеющей ту же размерность столбцов. Вход P — это вектор длины L, элементы которого определяют, куда должна быть помещена каждая строка из входной матрицы A в выходной матрице L на N.Для перестановки строк блок рассматривает неориентированный вектор длины M, поступающий на порт A, как матрицу M на 1.
-
Columns
— блок использует столбцы входной матрицы A для создания матрицы, имеющей ту же размерность строк. На вход P подается вектор длины L, элементы которого определяют, куда должен быть помещен каждый столбец из входной матрицы A в выходной матрице M на L.Для перестановки столбцов блок рассматривает неориентированный вектор длины N, поступающий на порт A, как матрицу 1 на N.
Index mode — режим индекса
One-based (по умолчанию)
| Zero-based
При установке значения One-based
значение 1 в векторе перестановок P относится к первой строке или столбцу входной матрицы A. При установке Zero-based
значение 0 в P относится к первой строке или столбцу A.
Invalid permutation index — реакция на недопустимое значение индекса
Clip index (по умолчанию)
| Clip and warn
| Generate error
Реакция на недопустимое значение индекса. Если значение индекса на входе P ссылается на несуществующую строку или столбец входной матрицы A, блок реагирует так, как указано в этом параметре. Возможны следующие варианты:
-
Clip index
— обрезать индекс до ближайшего допустимого значения (1 или M для перестановки строк и 1 или N для перестановки столбцов) и не выдавать предупреждение.Пример: Для входной матрицы 3 на 7 индекс столбца, равный 9, обрезается до 7, а индекс строки, равный −2, обрезается до 1.
-
Clip and warn
— то же, что предыдущий вариант; в будущих релизах при выборе этого варианта в окно командной строки Engee будет выводиться предупреждающее сообщение. -
Generate error
— вывести диалоговое окно ошибки и прервать моделирование.
Error when length of P is not equal to Permute dimension size — сообщение об ошибке для длины P
выключено (по умолчанию)
| включено
Опция вывода диалогового окна об ошибке и прекращения моделирования, если длина вектора перестановок P не равна количеству строк или столбцов входной матрицы A.
Вы можете выбрать открытие диалогового окна с ошибкой и завершение моделирования, установив для этого параметра значение on
.