Добавьте, вычтите, сумма элементов, сумма

Добавьте или вычтите входные параметры

  • Библиотека:
  • Simulink / Математические операции

Описание

Блок Sum выполняет сложение или вычитание на его входных параметрах. Добавление, Вычтите, Сумма Элементов, и блоки Суммы являются идентичными блоками. Этот блок может добавить или вычесть скаляр, вектор или матричные входные параметры. Это может также свернуть элементы сигнала и выполнить суммирование.

Вы задаете операции блока со Списком параметра знаков с плюс (+) минус (-) и распорная деталь (|).

  • Количество + и символов - равняется количеству входных параметров. Например, +-+ требует трех входных параметров. Блок вычитает второй (средний) входной параметр из первого (главного) входного параметра, и затем добавляет третье (нижняя часть) входной параметр.

  • Символ распорной детали создает дополнительное пространство между портами на блочном значке.

  • При выполнении только сложения, можно использовать численное значение, равное количеству входных параметров.

  • Если только существует только один входной порт, единственный + или - добавляют или вычитают элементы по всем размерностям или в заданном измерении.

Блок Sum сначала преобразовывает тип входных данных в свой тип данных аккумулятора, затем выполняет заданные операции. Блок преобразовывает результат в свой тип выходных данных с помощью заданного округления и режимов переполнения.

Вычисление блока Вывод

Выходное вычисление для блока Sum зависит от количества блочных входных параметров и знака входных портов:

Если блок Sum имеет...И...Формула для выходного вычисления...Где...

Один входной порт

Знак входного порта +

y = e [0] + e[1] + e[2]... + e [m]


e[i] является ith элементом входного параметра u

Знак входного порта –

y = 0.0 – e [0] – e[1] – e[2]... – e [m]


Два или больше входных порта

Все знаки входного порта –

y = 0.0 – u [0] – u[1] – u[2]... – u [n]


u[i] является входным параметром к ith входному порту

kth входной порт является первым портом, где знак +

y = u [k] – u [0] – u[1] – u[2] – u [k–1] (+/–) u [k+1]... (+/–) u [n]


Порты

Вводы

развернуть все

Входные параметры могут иметь различные типы данных, если вы не выбираете Require все входные параметры, чтобы иметь параметр совпадающего типа данных.

Входной сигнал к операции сложения или операции вычитания. Если существует только один входной сигнал, то сложение или вычитание выполняются на элементах по всем размерностям или заданному измерению.

Типы данных: единственный | удваиваются | int8 | int16 | int32 | uint8 | uint16 | uint32 | булевская переменная | фиксированная точка

n th входной сигнал к операциям. Количество входных параметров соответствует, количество входит в систему Список параметра знаков. Блок применяет операции к входным параметрам в перечисленном порядке. Можно также использовать численное значение, равное количеству входных портов как Список параметра знаков. Блок создает входные порты и применяет добавление ко всем входным параметрам. Например, если вы присваиваете 5 для Списка параметра знаков, блок создает входные порты 5 и добавляет их вместе, чтобы произвести вывод.

Все нескалярные входные параметры должны иметь те же размерности. Скалярные входные параметры расширены, чтобы иметь те же размерности как другие входные параметры.

Типы данных: единственный | удваиваются | int8 | int16 | int32 | uint8 | uint16 | uint32 | булевская переменная | фиксированная точка

Вывод

развернуть все

Выходной сигнал, следующий из операций сложения и/или операций вычитания. Выходной сигнал имеет ту же размерность как входные сигналы.

Типы данных: единственный | удваиваются | int8 | int16 | int32 | uint8 | uint16 | uint32 | булевская переменная | фиксированная точка

Параметры

развернуть все

Основной

Определяйте форму значка блока как прямоугольную или круглую.

Для прямоугольного блока первый входной порт является верхним портом. Для круглого блока Sum первый входной порт является портом, самым близким к 12-часовому положению, входящему в направление против часовой стрелки вокруг блока. Точно так же другие входные порты появляются в, против часовой стрелки командуют блок.

Программируемое использование

Блочный параметр: IconShape
Ввод: символьный вектор
Значения: 'прямоугольный' | 'вокруг'
Значение по умолчанию: 'on'

Введите операции сложения и операции вычитания, выполняемые на входных параметрах. Входной порт создается для каждой операции. Распорная деталь (|) создает дополнительное пространство между входными портами на блочном значке. Сложение является операцией по умолчанию. Если вы только хотите добавить входные параметры, введите номер входных портов. Операции выполняются в перечисленном порядке.

При вводе только один элемент, блок включает Сумму по параметру. Для единственного векторного входного параметра, + или - добавляет или вычитает элементы по всем размерностям или в заданном измерении.

Советы

Можно управлять положениями входных портов на блоке путем вставки распорных деталей (|) между знаками в Списке параметра знаков. Например, “++|--” создает дополнительное пространство между вторыми и третьими входными портами.

Программируемое использование

Блочный параметр: Inputs
Ввод: символьный вектор
Значения: '+' | '-' | | | целое число
Значение по умолчанию: '++'

Выберите размерность, по которой блок выполняет сумму - по операции.

Для Всех размерностей суммированы все входные элементы. Когда вы выбираете алгоритмы Использования параметра конфигурации, оптимизированные для размещения главного массива строки, Simulink® включает главные строкой алгоритмы для моделирования. Чтобы сгенерировать главный строкой код, установите размещение параметра конфигурации Массивов (Simulink Coder) на Row-major в дополнение к выбору алгоритмов Use, оптимизированных для размещения главного массива строки. Главные столбцом и главные строкой алгоритмы отличаются только по порядку суммирования. В некоторых случаях, из-за различной операции заказывают на том же наборе данных, вы можете испытать незначительные числовые различия в выходных параметрах главных столбцом и главных строкой алгоритмов.

Когда вы выбираете Заданные измерения, другая Размерность параметра появляется. Выберите определенную размерность для подведения итогов векторного входного параметра.

Зависимость

Enabled, когда вы перечисляете, только один входит в систему Список параметра знаков.

Программируемое использование

Блочный параметр: CollapseMode
Ввод: символьный вектор
Значения: 'Все размерности' | 'Заданное измерение'
Значение по умолчанию: 'All dimensions'

Когда вы выбираете Заданное измерение за Сумму по параметру, задаете размерность, по которой можно выполнить операцию.

Блок следует тем же правилам суммирования как функция MATLAB® sum.

Предположим, что вы имеете 2 3 матрица U.

  • Установка Размерности к 1 приводит к выводу Y, вычисляемому как:

    Y = i=12U (i, j)

  • Установка Размерности к 2 приводит к выводу Y, вычисляемому как:

    Y = j=13U (i, j)

Если заданное измерение больше, чем размерность входного параметра, сообщение об ошибке появляется.

Зависимость

Enabled, когда вы выбираете Specified dimension за Сумму по параметру.

Программируемое использование

Блочный параметр: CollapseDim
Ввод: символьный вектор
Значение: целое число
Значение по умолчанию: '1'

Задайте частоту дискретизации как значение кроме-1. Для получения дополнительной информации см. Настройку времени выборки.

Зависимости

Этот параметр не видим, если он явным образом не установлен в значение кроме -1. Чтобы узнать больше, смотрите Блоки, для Которых Не Рекомендуется Частота дискретизации.

Программируемое использование

Блочный параметр: 'SampleTime'
Ввод: символьный вектор
Значения: скаляр
Значение по умолчанию: '-1'

Атрибуты сигнала

Нажмите ассистент типа данных Show кнопка, чтобы отобразить Ассистент Типа данных, который помогает вам установить атрибуты типа данных. Для получения дополнительной информации смотрите, Задают Типы данных Используя Ассистент Типа данных.

Задайте, должны ли входные сигналы все иметь совпадающий тип данных. Если вы включаете этот параметр, то ошибка происходит во время моделирования, если типы входного сигнала отличаются.

Программируемое использование

Блочный параметр: InputSameDT
Ввод: символьный вектор
Значения: 'off' | 'on'
Значение по умолчанию: 'off'

Выберите тип данных аккумулятора. Тип может быть наследован, задан непосредственно или выражен как объект типа данных, такой как Simulink.NumericType. Когда вы выбираете Inherit: Inherit via internal rule, Simulink выбирает тип данных, чтобы сбалансировать числовую точность, производительность и размер сгенерированного кода, при принятии во внимание свойств аппаратных средств целевого процессора.

Программируемое использование

Блочный параметр: AccumDataTypeStr
Ввод: символьный вектор
Значения: 'Наследуйтесь: Наследуйтесь через внутреннее правило |, 'Наследуйтесь: То же самое, как сначала введено' | 'удваивается ''single' | 'int8' | 'uint8' | 'int16' | 'uint16', 'int32' | 'uint32' | 'fixdt (1,16)' | 'fixdt (1,16,0)' | 'fixdt (1,16,2^0,0)' |' <выражение типа данных>'
Значение по умолчанию: 'Inherit: Inherit via internal rule'

Нижнее значение выходной области значений это Simulink Check.

Симулинк использует минимум, чтобы выполнить:

Примечание

Выведите минимум, не насыщает или отсекает фактический выходной сигнал. Используйте блок Saturation вместо этого.

Программируемое использование

Блочный параметр: OutMin
Ввод: символьный вектор
Значения:' []' | скаляр
Значение по умолчанию: '[ ]'

Верхнее значение выходной области значений это Simulink Check.

Симулинк использует максимальное значение, чтобы выполнить:

Примечание

Выведите максимум, не насыщает или отсекает фактический выходной сигнал. Используйте блок Saturation вместо этого.

Программируемое использование

Блочный параметр: OutMax
Ввод: символьный вектор
Значения:' []' | скаляр
Значение по умолчанию: '[ ]'

Выберите тип данных для вывода. Тип может быть наследован, задан непосредственно или выражен как объект типа данных, такой как Simulink.NumericType.

Когда вы выбираете наследованную опцию, блок ведет себя можно следующим образом:

  • Inherit: Inherit via internal rule — Симулинк выбирает тип данных, чтобы сбалансировать числовую точность, производительность и размер сгенерированного кода, при принятии во внимание свойств аппаратных средств целевого процессора. Если вы изменяете настройки целевого процессора, тип данных, выбранный внутренним правилом, может измениться. Для программного обеспечения не всегда возможно оптимизировать эффективность кода и числовую точность в то же время. Если внутреннее правило не удовлетворяет ваши определенные потребности для числовой точности или производительности, используйте одну из следующих опций:

    • Задайте тип выходных данных явным образом.

    • Используйте простой выбор Inherit: Same as first input.

    • Явным образом задайте тип данных по умолчанию, такой как fixdt(1,32,16) и затем используйте Fixed-Point Tool, чтобы предложить типы данных для вашей модели. Для получения дополнительной информации смотрите fxptdlg.

    • Чтобы задать ваше собственное правило наследования, используйте Inherit: Inherit via back propagation и затем используйте блок Data Type Propagation. Примеры того, как использовать этот блок, доступны в библиотеке Signal Attributes блок Data Type Propagation Examples.

    Примечание

    Аккумулятор внутреннее правило одобряет большую числовую точность, возможно за счет менее эффективного сгенерированного кода. Чтобы получить ту же точность для вывода, установите тип выходных данных на Inherit: Inherit same as accumulator.

  • Inherit: Inherit via back propagation — Используйте тип данных ведущего блока.

  • Inherit: Same as first input — Используйте тип данных первого входного сигнала.

  • Inherit: Inherit same as accumulator — Используйте тип данных аккумулятора.

Программируемое использование

Блочный параметр: OutDataTypeStr
Ввод: символьный вектор
Значения: 'Наследуйтесь: Наследуйтесь через внутреннее правило |, 'Наследуйтесь: Наследуйтесь через обратное распространение, ''Наследуйтесь: То же самое, как сначала введено' | 'Наследовалось: То же самое как аккумулятор' | 'удваивается' | 'single' | 'int8' | 'uint8' | 'int16' | 'uint16', 'int32' | 'uint32' | 'fixdt (1,16)' | 'fixdt (1,16,0)' | 'fixdt (1,16,2^0,0)' |' <выражение типа данных>'
Значение по умолчанию: 'Inherit: Inherit via internal rule'

Выберите, чтобы заблокировать настройки типа данных этого блока против изменений Fixed-Point Tool и Советником Фиксированной точки. Для получения дополнительной информации смотрите Блокировку Установка Типа Выходных данных (Fixed-Point Designer).

Программируемое использование

Блочный параметр: LockScale
Значения: 'off' | 'on'
Значение по умолчанию: 'off'

Задайте округляющийся режим для операций фиксированной точки. Для получения дополнительной информации смотрите Округление (Fixed-Point Designer).

Блокируйте параметры всегда вокруг к самому близкому представимому значению. Чтобы управлять округлением блочного параметра, введите выражение с помощью MATLAB, округляющего функцию в поле маски.

Программируемое использование

Блочный параметр: RndMeth
Ввод: символьный вектор
Значения: 'Потолок' | 'Конвергентный' | 'Пол' | 'Самый близкий' | 'Вокруг' | 'Самый Простой' | 'Нуль'
Значение по умолчанию: пол

Задайте, насыщает ли переполнение или переносится.

ДействиеОбъяснениеПовлияйте на переполненииПример

Установите этот флажок (on).

Ваша модель имеет возможное переполнение, и вы хотите явную защиту насыщенности в сгенерированном коде.

Переполнение насыщает или к минимальному или к максимальному значению, которое может представлять тип данных.

Максимальное значение, которое может представлять int8 (подписанное, 8-битное целое число) тип данных, равняется 127. Любой результат блочной операции, больше, чем это максимальное значение, вызывает переполнение 8-битного целого числа. С установленным флажком блок вывод насыщает в 127. Точно так же блок вывод насыщает в минимальном выходном значении-128.

Не устанавливайте этот флажок (off).

Вы хотите оптимизировать эффективность своего сгенерированного кода.

Вы не хотите чрезмерно определять, как блок обрабатывает сигналы из области значений. Для получения дополнительной информации смотрите Проверку на Ошибки Диапазона сигнала.

Переполнение переносится к соответствующему значению, которое является представимым, по условию вводят.

Максимальное значение, которое может представлять int8 (подписанное, 8-битное целое число) тип данных, равняется 127. Любой результат блочной операции, больше, чем это максимальное значение, вызывает переполнение 8-битного целого числа. Со снятым флажком программное обеспечение интерпретирует вызывающее переполнение значение как int8, который может привести к непреднамеренному результату. Например, блочный результат 130 (двоичный файл 1000 0010) выраженный как int8,-126.

Когда вы устанавливаете этот флажок, насыщенность применяется к каждой внутренней операции на блоке, не только выводу или результату. Обычно, процесс генерации кода может обнаружить, когда переполнение не возможно. В этом случае генератор кода не производит код насыщенности.

Программируемое использование

Блочный параметр: SaturateOnIntegerOverflow
Ввод: символьный вектор
Значения: 'off' | 'on'
Значение по умолчанию: 'off'

Блокируйте характеристики

Типы данных

double | single | Boolean | base integer | fixed point

Прямое сквозное соединение

No

Многомерные сигналы

Yes

Сигналы переменного размера

Yes

Обнаружение пересечения нулем

No

Расширенные возможности

Генерация кода C/C++
Генерация кода C и C++ с помощью Simulink® Coder™.

Генерация кода PLC
Сгенерируйте код Структурированного текста с помощью Simulink® PLC Coder™.

Преобразование фиксированной точки
Преобразуйте алгоритмы с плавающей точкой в фиксированную точку с помощью Фиксированной точки Designer™.

Представлено до R2006a

Была ли эта тема полезной?