Sqrt

Вычислите квадратный корень, подписанный квадратный корень или обратную величину квадратного корня

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

Описание

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

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

Квадратный корень из входного параметра

u0.5

sqrt
signedSqrt

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

sign(u)*|u|0.5

rSqrt

Обратная величина квадратного корня из входного параметра

u-0.5

Блочный значок изменяется, чтобы совпадать с функцией.

Порты

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

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

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

Если входной параметр отрицателен, установите Выходной сигнал объединять.

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

Вывод

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

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

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

Параметры

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

Основной

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

ФункцияБлокируйте значок
sqrt
signedSqrt
rSqrt

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

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

Задайте тип выходного сигнала блока.

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

sqrt

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

real для неотрицательных входных параметров

NaN для отрицательных входных параметров

real для неотрицательных входных параметров

NaN для отрицательных входных параметров

комплекс

комплекс

комплекс

ошибка

комплекс

signedSqrt

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

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

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

комплекс

комплекс

ошибка

ошибка

ошибка

rSqrt

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

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

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

ошибка

комплекс

ошибка

ошибка

ошибка

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

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

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

Зависимости

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

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

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

Алгоритм

Задайте метод для вычисления обратной величины квадратного корня. Этот параметр только допустим для функции rSqrt.

МетодПоддерживаемые типы данныхКогда использовать этот метод
Exact

Плавающая точка

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

Вы не хотите приближение.

Примечание

Ввод или вывод должен быть плавающей точкой.

Newton-Raphson

Фиксированная точка с плавающей точкой и встроенные целые типы

Вы хотите быстрое, приближенное вычисление.

Метод Exact обеспечивает результаты, которые сопоставимы с вычислениями MATLAB.

Примечание

Алгоритмы для sqrt и signedSqrt всегда имеют тип Exact, неважно какой выбор появляется на блочном диалоговом окне.

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

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

Задайте количество итераций, чтобы выполнить алгоритм Ньютона-Raphson. Этот параметр допустим с функцией rSqrt и значением Newton-Raphson для Метода.

Примечание

Если вы входите 0, блок вывод является исходным предположением алгоритма Ньютона-Raphson.

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

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

Типы данных

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

Задайте тип данных для промежуточных результатов когда вы функция множества к sqrt или rSqrt на Основной панели.

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

Следуйте этим инструкциям по установке промежуточного типа данных явным образом для функции квадратного корня, sqrt:

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

Следуйте этим инструкциям по установке промежуточного типа данных явным образом для взаимной функции квадратного корня, rSqrt:

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

Внимание

Не устанавливайте Промежуточный тип данных результатов на Inherit:Inherit from output когда:

  • Вы выбираете Newton-Raphson, чтобы вычислить обратную величину квадратного корня.

  • Тип входных данных является плавающей точкой.

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

При этих условиях, выбор Inherit:Inherit from output приводит к субоптимальной производительности и производит ошибку.

Чтобы избежать этой ошибки, преобразуйте входной сигнал от с плавающей точкой до типа данных фиксированной точки. Например, вставьте блок Data Type Conversion перед блоком Sqrt, чтобы выполнить преобразование.

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Типы данных

double | single | base integer | fixed point

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

No

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

Yes

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

Yes

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

No

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

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

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

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

Представленный в R2010a

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