Математическая функция

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

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

Описание

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

Совет

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

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

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

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

eu

exp
журнал

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

ln u

журнал
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

Степень

u, v

power
союз

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

u

союз
reciprocal

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

1/u

1./u
(см. rdivide),

hypot

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

(u2+v2)0.5

hypot
rem

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

rem
mod

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

mod
перемещение

Перемещение

uT

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

hermitian

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

uH

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

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

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

Да

Да

журнал

Да

Да

10^u

Да

Да

log10

Да

Да

magnitude^2

Да

Да

square

Да

Да

pow

Да

Да

союз

Да

Да

reciprocal

Да

Да

hypot

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

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

rem

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

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

mod

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

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

перемещение

Да

Да

hermitian

Да

Да

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

Совет

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

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

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

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

exp

Да

Да

журнал

Да

Да

10^u

Да

Да

log10

Да

Да

magnitude^2

Да

Да

Да

Да

square

Да

Да

Да

Да

pow

Да

Да

союз

Да

Да

Да

Да

reciprocal

Да

Да

Да

Да

hypot

Да

Да

rem

Да

Да

Да

mod

Да

Да

Да

перемещение

Да

Да

Да

Да

Да

hermitian

Да

Да

Да

Да

Порты

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

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

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

Зависимости

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

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

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

Зависимости

Включить этот порт, функцию множества к hypot, rem или mod.

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

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

Вывод

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

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

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

Параметры

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

Основной

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

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

Блочный параметр: Оператор
Ввод: символьный вектор
Значения: 'exp' | 'журнал' | '10^u' | 'log10' | 'magnitude^2' | 'квадрат' | 'голова' | 'союз' | 'обратная величина' | 'hypot' | 'rem' | 'mod' | 'транспонируют' | 'эрмитов'
Значение по умолчанию: exp

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

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

exp, log, 10u, log10, square, pow, reciprocal, conjugate, transpose, hermitian

действительный

комплекс

действительный

комплекс

действительный

ошибка

комплекс

комплекс

magnitude squared

действительный

комплекс

действительный

действительный

действительный

действительный

комплекс

комплекс

hypot, rem, mod

действительный

комплекс

действительный

ошибка

действительный

ошибка

комплекс

ошибка

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

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

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

Зависимости

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

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

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

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

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

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

Примечание

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

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

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

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

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

Примечание

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

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

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

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

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

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

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

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

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

Зависимости

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

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

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

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

Зависимости

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

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

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

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

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

Зависимости

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Зависимости

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

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

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

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

Типы данных

double | single | Boolean | base integer | fixed point

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

No

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

No

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

Yes

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

No

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

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

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

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

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