Документация Engee

Permute Matrix

Перестановка строк или столбцов матрицы.

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.