Суммирование элементов вектора
![]() |
![]() |
| Векторный | Си
| ST |
|
| в палитре | на схеме |
Описание
Блок реализует суммирование всех элементов векторных входных сигналов. Выход – скалярная величина (по умолчанию):
где:
- u1 i(t), u 2 i(t), … – элементы векторов входных сигналов блоков (элементы векторов u 1(t)
- u 2(t),…), y(t) – выходной сигнал блока
- a 1, a 2, … – весовые коэффициенты входов
Если задано свойство суммировать через k>1 элементов, то размерность выходного сигнала равна k.
Например, алгоритм блока для k=2:
Входные порты
| Имя | Описание | Тип линии связи |
|---|---|---|
| vector_n | Порт для входного n-го вектора. Количество входов равно числу элементов вектора весовых коэффициентов в свойствах блока. | Математическая |
Выходные порты
| Имя | Описание | Тип линии связи |
|---|---|---|
| result | Порт для результирующего значения. | Математическая |
Свойства
| Название | Имя | Описание | По умолчанию | Тип данных |
|---|---|---|---|---|
| Весовые коэффициенты входов | a | Числа a 1, a 2, …, на которые умножаются значения входных портов блока. Число входных портов блока равно размерности этого параметра. | [1] | Массив |
| Суммировать через (количество элементов) | nsum | Целое число k, показывающее через сколько элементов во входных векторах осуществлять суммирование элементов. Размерность выходного сигнала равна этому числу. | 1 | Целое |
Параметры
Блок не имеет параметров.
Промпт
//Описание блока, реализующего суммирование всех элементов
//векторных входных сигналов. Выход - скалярная величина (по умолчанию):
//y(t) = a1·Σu1i(t) + a2·Σu2i(t) + …
// u1i(t), u2i(t), … - элементы векторов входных сигналов (элементы векторов
//u1(t), u2(t), …)
// y(t) - выходной сигнал блока
// a1, a2, … - весовые коэффициенты входов
//Если задано свойство суммировать через k > 1 элементов, то размерность
//выходного сигнала равна k
//Например, алгоритм блока для k = 2:
//y1 = a1·(u11(t) + u13(t) + u15(t) + …) + a2·(u21(t) + u23(t) + u25(t) + …) + …
//y2 = a1·(u12(t) + u14(t) + u16(t) + …) + a2·(u22(t) + u24(t) + u26(t) + …) + …
// a - весовые коэффициенты входов. Числа a1, a2, …, на которые умножаются
//значения входных портов блока. Число входных портов блока равно размерности
//этого параметра. По умолчанию [1]
// nsum - суммировать через (количество элементов). Целое число k, показывающее,
//через сколько элементов во входных векторах осуществлять суммирование элементов.
//Размерность выходного сигнала равна этому числу. По умолчанию равно 1
//Входы: vector_n - порт для входного n-го вектора. Количество входов равно числу
//элементов вектора весовых коэффициентов в свойствах блока
//Выходы: result - порт для результирующего значения
block: (
type = "Суммирование элементов вектора",
points=[(-200 , 0),(-184 , 0),(-200 , -16),(408 , 308)],
a = [1],
nsum = 1
),
Примечание:
- Блок формирует скалярный выходной сигнал при k=1 и векторный выходной сигнал при k>1.
- Свойства посредством колонки "Формула" могут быть заданы при помощи локальных переменных модели (субмодели) в ее скрипте, при помощи глобальных сигналов проекта в пункте главного меню Сервис → Сигналы..., или сигналов подключаемой базы данных.

