Math Function

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

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

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

  • Math Function block

Описание

Блок 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

real(u).^2 + imag(u).^2
(см. real, imag, и power)

square

Степень 2

u2

u.^2
(см. power)

pow

Степень

sign(u)*|u|v (значение по умолчанию, примененное только для корней ровного порядка) или uv

power
conj

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

ū

conj
reciprocal с Точным методом

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

1/u

1./u
(см. rdivide)

reciprocal с методом Ньютона-Raphson

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

См. метод алгоритма обратной величины ньютона-Raphson'none'
hypot

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

(u2+v2)0.5

hypot
rem

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

rem
mod

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

mod
transpose

Перемещение

uT

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

hermitian

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

uH

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

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

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

Да

Да

log

Да

Да

10^u

Да

Да

log10

Да

Да

magnitude^2

Да

Да

square

Да

Да

pow

Да

Да

conj

Да

Да

reciprocal с Точным методом

Да

Да

reciprocal с методом Ньютона-Raphson

Да

Да

hypot

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

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

rem

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

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

mod

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

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

transpose

Да

Да

hermitian

Да

Да

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

Совет

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

Метод алгоритма обратной величины ньютона-Raphson

reciprocal функция с методом алгоритма Ньютона-Raphson вычисляет обратную величину с методом приближения Ньютона-Raphson. Функция использует рекурсивное приближение, чтобы найти лучшие приближения к корням действительной функции.

Обратная величина вещественного числа a задан как нуль функции:

f(x)=1xa

Simulink® выбирает первоначальную оценку в области значений 0<x0<2a, когда это - область сходимости для функции.

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

xi+1=xif(xi)f'(xi)=xi+(xiaxi2)=xi.(2axi)

f'(x) производная функции f(x).

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

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

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

exp

Да

Да

Да

log

Да

Да

Да

10^u

Да

Да

Да

log10

Да

Да

Да

magnitude^2

Да

Да

Да

Да

Да

square

Да

Да

Да

Да

Да

pow

Да

Да

Да

conj

Да

Да

Да

Да

Да

reciprocal с Точным методом

Да

Да

Да

Да

Да

reciprocal с методом Ньютона-Raphson

Смотрите Выход.

hypot

Да

Да

Да

rem

Да

Да

Да

Да

mod

Да

Да

Да

Да

transpose

Да

Да

Да

Да

Да

Да

hermitian

Да

Да

Да

Да

Да

Для получения дополнительной информации об арифметических операциях полуточности смотрите Тип данных Полуточности в Simulink (Fixed-Point Designer).

Порты

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

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

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

Зависимости

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

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

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

Зависимости

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

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

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

Вывод

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

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

reciprocal с методом ньютона-Raphson

reciprocal с Ньютоном-Raphson тип выходных данных метода зависит от типа входных данных:

Тип входных данныхТип выходных данных
единственныйединственный
'double''double'
встроенное целое числовстроенное целое число
встроенная фиксированная точкавстроенная фиксированная точка

fi (value, 0, word_length, fraction_length)

fi (value, 0, word_length, word_length –fraction_length–1)

fi (value, 1, word_length, fraction_length)

fi (value, 1, word_length, word_length –fraction_length–2)

Типы данных: half | single | double | int8 | int16 | int32 | int64 | uint8 | uint16 | uint32 | uint64 | 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'

Метод алгоритма для reciprocal функция в виде Exact или Newton-Raphson. Чтобы вычислить обратную величину с методом приближения Ньютона-Raphson, выберите Newton-Raphson. В противном случае выберите Exact.

Зависимость

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

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

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

Учтите знак входного сигнала при вычислении степени в виде на или прочь. Этот параметр применяется только для корней ровного порядка, таких как u 1/2, u 1/4, и т.д.

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

  • прочь — Вычисляют степень фактического входного значения. Если первый вход отрицателен, и второй вход является корнем ровного порядка, возвратите 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'

Количество итераций Ньютона-Raphson в виде скаляра.

Зависимости

Чтобы включить этот параметр, установите:

  • Function к reciprocal.

  • Algorithm method к Newton-Raphson.

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

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

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

Зависимости

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

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

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

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

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

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.

  • Для magnitude^2 и square, когда введенный тип данных с плавающей точкой, меньший, чем одинарная точность, Inherit: Inherit via internal rule тип выходных данных зависит от установки Того, чтобы наследовать выходной тип с плавающей точкой, меньший, чем параметр конфигурации одинарной точности. Типы данных меньше, чем с одинарной точностью, когда количество битов должно было закодировать тип данных, меньше, 32 бита должны были закодировать тип данных одинарной точности. Например, half и int16 меньше, чем одинарная точность.

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

Параметры блоков: OutDataTypeStr
Ввод: символьный вектор
Значения: 'Inherit: Inherit via internal rule | 'Inherit: Same as first input' | 'Inherit: Inherit via back propagation' | 'double' | 'single' | 'half' | '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 | half | integer | single

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

yes

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

yes

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

yes

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

no

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

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

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

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