Распаковка матрицы
![]() |
![]() |
| Векторный | Си
|
|
| в палитре | на схеме |
Описание
Блок реализует преобразование одного входного векторного сигнала на несколько векторных выходных сигналов согласно алгоритму:
или
где:
- y(t) – векторный выходной сигнал
- u(t) – векторный входной сигнал
Входной вектор u(t), интерпретируемый как матрица размера [N×M] и "запакованная" по строкам или столбцам (в зависимости от варианта запаковки), преобразуется в M или N векторных выходов y j(t) (в зависимости от варианта распаковки: по строкам или по столбцам).
Входные порты
| Имя | Описание | Тип линии связи |
|---|---|---|
| inport | Порт для входного векторного сигнала. | Математическая |
Выходные порты
| Имя | Описание | Тип линии связи |
|---|---|---|
| outport_n | Выходной порт для строки матрицы. Количество выходов блока равно количеству строк или столбцов входной матрицы, в зависимости от настроек свойств блока. | Математическая |
Свойства
| Название | Имя | Описание | По умолчанию | Тип данных |
|---|---|---|---|---|
| Число строк в матрице | nrow | Число M. | 2 | Целое |
| Число столбцов в матрице | ncol | Число N. | 2 | Целое |
| Матрица запакована по | tx | Вариант запаковки входной матрицы: по строкам или по столбцам. | Столбцам | Перечисление |
| Матрицу распаковать по | ty | Вариант "распаковки" на выходе входной матрицы. | Столбцам | Перечисление |
Параметры
Блок не имеет параметров.
Промпт
//Описание блока, реализующего преобразование одного входного
//векторного сигнала на несколько векторных выходных сигналов
//Вариант распаковки по строкам:
//u(t) = [[u11(t), …, u1N(t)], [u21(t), …, u2N(t)], …, [uM1(t), …, uMN(t)]]
// ⇒ y(t) = [y1(t) = [u11(t), …, u1N(t)], y2(t) = [u21(t), …, u2N(t)], …,
// yM(t) = [uM1(t), …, uMN(t)]]
//Вариант распаковки по столбцам:
//y(t) = [y1(t) = [u11(t), …, uM1(t)], y2(t) = [u12(t), …, uM2(t)], …,
// yN(t) = [u1N(t), …, uMN(t)]]
// y(t) - векторный выходной сигнал
// u(t) - векторный входной сигнал
//Входной вектор u(t), интерпретируемый как матрица размера [N×M] и "запакованная"
//по строкам или столбцам (в зависимости от варианта запаковки), преобразуется
//в M или N векторных выходов y_j(t) (в зависимости от варианта распаковки:
//по строкам или по столбцам)
// nrow - число строк в матрице. Число M. По умолчанию равно 2
// ncol - число столбцов в матрице. Число N. По умолчанию равно 2
// tx - матрица запакована по. Вариант запаковки входной матрицы: по строкам
//или по столбцам. По умолчанию: Столбцам
// ty - матрицу распаковать по. Вариант "распаковки" на выходе входной матрицы.
//По умолчанию: Столбцам
//Входы: inport - порт для входного векторного сигнала
//Выходы: outport_n - выходной порт для строки матрицы. Количество выходов блока
//равно количеству строк или столбцов входной матрицы, в зависимости от настроек
//свойств блока
block: (
type = "Распаковка матрицы",
points=[(-200 , 0),(-184 , 0),(-200 , -16),(408 , 308)],
nrow = 2,
ncol = 2,
tx = Столбцам,
ty = Столбцам
),
Примечание:
- По умолчанию блок распаковывает матрицу размером [2×2] и формирует два выходных сигнала (размерностью 2 каждый). При этом матрица запакована и распаковывается по строкам.
- Свойства посредством колонки "Формула" могут быть заданы при помощи локальных переменных модели (субмодели) в ее скрипте, при помощи глобальных сигналов проекта в пункте главного меню Сервис → Сигналы..., или сигналов подключаемой базы данных.

