Math Function

Выполните математическую функцию

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

    HDL Coder / Математические операции

Описание

Блок Math Function выполняет многочисленные общие математические функции.

Совет

Чтобы выполнить вычисления квадратного корня, используйте блок Sqrt.

Можно выбрать одну из этих функций из списка параметров Function.

ФункцияОписаниеМатематическое выражение MATLAB® Equivalent
exp

Экспоненциал

eu

exp
log

Натуральный логарифм

ln u

log
10^u

Степень основы 10

10u

10.^u
(см. power)

log10

Распространенный (базируются 10), логарифм

log u

log10
magnitude^2

Комплексный модуль

|u|2

(abs(u)).^2
(см. abs и power)

square

Степень 2

u2

u.^2
(см. power)

pow

Степень

sign(u)*|u|v (значение по умолчанию) или uv

power
conj

Сопряженное комплексное число

ū

conj
reciprocal

Обратная величина

1/u

1./u
(см. rdivide)

hypot

Квадратный корень из квадратов суммы

(u2+v2)0.5

hypot
rem

Остаток после деления

rem
mod

Модуль после деления

mod
transpose

Перемещение

uT

u.'
(см. Массив по сравнению Матричные операции (MATLAB)),

hermitian

Комплексное сопряженное транспонирование

uH

u'
(см. Массив по сравнению Матричные операции (MATLAB)),

Блок выход является результатом операции функции на входе или входных параметрах. Функции поддерживают эти типы операций.

ФункцияСкалярные операцииПоэлементные векторные и Матричные операцииВекторные и Матричные операции
exp

Да

Да

log

Да

Да

10^u

Да

Да

log10

Да

Да

magnitude^2

Да

Да

square

Да

Да

pow

Да

Да

conj

Да

Да

reciprocal

Да

Да

hypot

Да, на двух входных параметрах

Да, на двух входных параметрах (два вектора или две матрицы, одного размера, скаляр и вектор, или скаляр и матрица)

rem

Да, на двух входных параметрах

Да, на двух входных параметрах (два вектора или две матрицы, одного размера, скаляр и вектор, или скаляр и матрица)

mod

Да, на двух входных параметрах

Да, на двух входных параметрах (два вектора или две матрицы, одного размера, скаляр и вектор, или скаляр и матрица)

transpose

Да

Да

hermitian

Да

Да

Имя функции появляется на блоке. Соответствующее количество входных портов появляется автоматически.

Совет

Используйте блок Math Function, когда это необходимо, векторный или матричный выход.

Поддержка типов данных

Эта таблица показывает типы входных данных, что каждая функция блока может поддержать.

Функцияединственный'double'булевская переменнаявстроенное целое числофиксированная точка

exp

Да

Да

log

Да

Да

10^u

Да

Да

log10

Да

Да

magnitude^2

Да

Да

Да

Да

square

Да

Да

Да

Да

pow

Да

Да

conj

Да

Да

Да

Да

reciprocal

Да

Да

Да

Да

hypot

Да

Да

rem

Да

Да

Да

mod

Да

Да

Да

transpose

Да

Да

Да

Да

Да

hermitian

Да

Да

Да

Да

Порты

Входной параметр

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

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

Зависимости

Поддержка типов данных для этого блока зависит от Function, который вы выбираете и размер входа (входов). Для получения дополнительной информации смотрите Поддержку типов данных.

Типы данных: single | double | int8 | int16 | int32 | uint8 | uint16 | uint32 | Boolean | fixed point

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

Зависимости

Чтобы включить этот порт, установите Function на hypotrem, или mod.

Поддержка типов данных для этого блока зависит от Function, который вы выбираете, и размер входа (входов). Для получения дополнительной информации смотрите Поддержку типов данных.

Типы данных: single | double | int8 | int16 | int32 | uint8 | uint16 | uint32 | Boolean | fixed point

Вывод

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

Выходной сигнал, заданный как скаляр, вектор или матрица. Размерности блока выход зависят от Function, который вы выбираете и размер входных параметров. Блок выход является действительным или комплексным, в зависимости от того, что вы выбираете для Output signal type. См. Описание для получения дополнительной информации.

Типы данных: single | double | int8 | int16 | int32 | uint8 | uint16 | uint32 | Boolean | fixed point

Параметры

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

Основной

Задайте математическую функцию. См. Описание для получения дополнительной информации об опциях для этого параметра.

Зависимость

Установка Function к pow включает параметр Signed power.

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

Параметры блоков: Operator
Ввод: символьный вектор
Значения: 'exp' | 'log' | '10^u' | 'log10' | 'magnitude^2' | 'square' | 'pow' | 'conj' | 'reciprocal' | 'hypot' | 'rem' | 'mod' | 'transpose' | 'hermitian'
Значение по умолчанию: 'exp'

Учтите знак входного сигнала при вычислении степени, заданной как на или прочь.

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

  • прочь — Вычисляют степень фактического входного значения. Если первый вход отрицателен, и второй вход является дробным показателем, возвратите nan.

Зависимость

Установка Function к pow включает этот параметр.

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

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

Задайте тип выходного сигнала блока Math Function как autoдействительный, или complex.

ФункцияТип входного сигналаТип выходного сигнала
'auto'ДействительныйКомплекс

expжурнал, 10ulog10, square, pow, reciprocal, conjugateперемещение, hermitian

real

complex

real

complex

real

error

complex

complex

magnitude squared

real

complex

real

real

real

real

complex

complex

hypotremmod

real

complex

real

error

real

error

complex

error

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

Параметры блоков: OutputSignalType
Ввод: символьный вектор
Значения: 'auto' | 'real' | 'complex'
Значение по умолчанию: 'auto'

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

Зависимости

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

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

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

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

Нижнее значение выходной области значений, которую проверяет Simulink®.

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

Примечание

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

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

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

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

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

Примечание

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

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

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

Задайте тип выходных данных. Можно установить его на:

  • Правило, которое наследовало тип данных, например, Inherit: Inherit via back propagation

  • Имя встроенного типа данных, например, single

  • Имя объекта типа данных, например, Simulink.NumericType объект

  • Выражение, которое оценивает к типу данных, например, fixdt(1,16,0)

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

Зависимости

Чтобы включить этот параметр, установите Function на magnitude^2, square, или reciprocal.

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

Параметры блоков: OutDataTypeStr
Ввод: символьный вектор
Значения: 'Inherit: Inherit via internal rule | 'Inherit: Same as first input' | 'Inherit: Inherit via back propagation' | 'double' | 'single' | 'int8' | 'uint8' | 'int16' | 'uint16' | 'int32' | 'uint32' | 'int64' | 'uint64' | 'fixdt(1,16)' | 'fixdt(1,16,0)' | 'fixdt(1,16,2^0,0)' | '<data type expression>'
Значение по умолчанию: 'Inherit: Same as first input'

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

Зависимости

Чтобы включить этот параметр, установите Function на magnitude^2, square, или reciprocal.

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

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

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

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

Зависимости

Чтобы включить этот параметр, установите Function на magnitude^2, square, или reciprocal.

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

Параметры блоков: RndMeth
Ввод: символьный вектор
Значения: 'Ceiling' | 'Convergent' | 'Floor' | 'Nearest' | 'Round' | 'Simplest' | 'Zero'
Значение по умолчанию: 'Floor'

ДействиеПричины принятия этих мерЧто происходит для переполненияПример

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

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

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

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

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

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

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

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

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

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

Зависимости

Чтобы включить этот параметр, установите Function на magnitude^2, squareсоюз, reciprocal, или hermitian.

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

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

Характеристики блока

Типы данных

Boolean | double | fixed point | integer | single

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

no

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

no

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

yes

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

no

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

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

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

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