Gain
Умножение входного сигнала на константу.
Описание
Блок Gain умножает значение входного сигнала на постоянное значение (коэффициент усиления). Входной сигнал и коэффициент усиления могут быть скалярными, векторными или матричными.
Коэффициент усиления задается параметром Gain. Параметр Multiplication позволяет указать поэлементное или матричное умножение. Для матричного умножения этот параметр позволяет также указать порядок множителей.
При вычислении выходного сигнала блок Gain использует следующие правила:
-
Если входной сигнал действительного типа, а коэффициент усиления комплексный, то выходной сигнал будет комплексным.
-
Если тип входного сигнала отличается от типа коэффициента усиления, то Engee пытается выполнить приведение типа коэффициента усиления к типу входного сигнала. В том случае, если такое приведение невозможно, то расчет будет остановлен с выводом сообщения об ошибке. Такая ситуация может возникнуть, например, если входной сигнал — беззнаковое целое (
Uint8
), а параметр Gain задан отрицательным числом.
Порты
Вход
Port_1 — входной сигнал
скаляр
| вектор
| матрица
Блок Gain поддерживает как действительные, так и комплексные скалярные, векторные или матричные входные сигналы. Если входной сигнал блока Gain вещественный, а коэффициент усиления комплексный, то выходной сигнал будет комплексным.
Типы данных: Float16
, Float32
, Float64
, Int8
, Int16
, Int32
, Int64
, UInt8
, UInt16
, UInt32
, UInt64
, Bool
Поддержка комплексных чисел: Да
Выход
Port_1 — входной сигнал, умноженный на коэффициент усиления
скаляр
| вектор
| матрица
Входной сигнал, умноженный на коэффициент усиления. Если входной сигнал блока Gain вещественный, а коэффициент усиления комплексный, то выходной сигнал будет комплексным.
Типы данных: Float16
, Float32
, Float64
, Int8
, Int16
, Int32
, Int64
, UInt8
, UInt16
, UInt32
, UInt64
, Bool
Параметры
Gain — коэффициент, на который нужно умножить входной сигнал
1.0 (по умолчанию)
| скаляр, вектор или матрица любого типа, за исключением логического
Задает коэффициент, на который следует умножить входной сигнал. Коэффициент усиления может быть вещественным или комплексным скаляром, вектором или матрицей любого типа, за исключением логического.
Параметр блока |
|
Значения |
|
По умолчанию |
|
Output data type — тип выходных данных
Float 64 (по умолчанию)
| Float 32
| Float 16
| int8
| int16
| int32
| int64
| uint8
| uint16
| uint32
| uint64
Задает тип выходных данных.
Output data type method — метод задания выходного типа данных
Internal rule (по умолчанию)
| Same as input
| Specified
Укажите метод задания выходного типа данных.
Параметр блока |
|
Значения |
|
По умолчанию |
|
Parameter data type — тип данных параметра
Float 64 (по умолчанию)
| Float 32
| Float 16
| int8
| int16
| int32
| int64
| uint8
| uint16
| uint32
| uint64
Выберите тип данных для параметра.
Параметр блока |
|
Значения |
|
По умолчанию |
|
Parameter data type method — метод задания типа данных для параметра
Internal rule (по умолчанию)
| Same as input
| Same as Gain
| Specified
Укажите метод задания типа данных для параметра:
-
Internal rule
— блок наследует тип данных на основе внутреннего правила. -
Same as input
— блок определяет тип данных такой же, как тип входного сигнала. -
Same as Gain
— блок определяет тип данных такой же, как тип данных коэффициентаGain
. -
Specified
— тип данных задается пользователем.
Параметр блока |
|
Значения |
|
По умолчанию |
|
Multiplication — режим умножения
Element-wise(K.*u) (по умолчанию)
| Matrix(K*u)
| Matrix(u*K)
Укажите один из этих режимов умножения:
-
Element-wise(K.*u)
— каждый элемент входного сигнала умножается на каждый элемент коэффициента усиления. При необходимости блок выполняет расширения, чтобы входные данные и коэффициент усиления имели одинаковые размеры. -
Matrix(K*u)
— входные данные и коэффициент усиления умножаются на матрицу с использованием входных данных в качестве второго операнда. -
Matrix(u*K)
— входные данные и коэффициент усиления умножаются на матрицу с использованием входных данных в качестве первого операнда.
Предположим, что K
— это матрица m
на n
. Matrix(K*u)(u vector)
задает входной сигнал в виде вектора длины n
, а выходной — в виде вектора длины m
. Напротив, Matrix(K*u)
использует распространение для определения размеров для ввода и вывода. Для матрицы усиления m
на n
входные данные могут распространяться на матрицу n
на q
, а выходные данные становятся матрицей m
на q
.
Параметр блока |
|
Значения |
|
По умолчанию |
|
Примеры
-
Расчёт численности населения с использованием командного управления в циклах
-
Автоматизация расчёта времени восхода и заката Солнца для при помощи обратных вызовов
-
Преобразователь коэффициента к скорости с использованием командного управления в циклах
-
Генерация кода для Arduino (чтение аналогового входного сигнала)
-
Демонстрация влияния коэффициентов ПИД регулятора на выходной сигнал системы управления