Вычислите квадратный корень, подписанный квадратный корень или обратную величину квадратного корня
Simulink / Математические операции
Блок Sqrt вычисляет квадратный корень, подписанный квадратный корень или обратную величину квадратного корня на входном сигнале. Выберите одну из следующих функций из списка Параметров функции.
Функция | Описание | Математическое выражение | MATLAB® Equivalent |
---|---|---|---|
sqrt
| Квадратный корень из входного параметра |
|
sqrt
|
signedSqrt
| Квадратный корень из абсолютного значения входного параметра, умноженного на знак входного параметра |
| — |
rSqrt
| Обратная величина квадратного корня из входного параметра |
| — |
Блочный значок изменяется, чтобы совпадать с функцией.
Port_1
— Входной сигналВходной сигнал к блоку, чтобы вычислить квадратный корень, подписанный квадратный корень или обратную величину квадратного корня. Функция sqrt
принимает действительные или комплексные входные параметры, за исключением комплексных сигналов фиксированной точки. signedSqrt
и rSqrt
не принимают комплексные входные параметры.
Если входной параметр отрицателен, установите Выходной сигнал объединять.
Типы данных: единственный
| удваиваются
| int8
| int16
| int32
| uint8
| uint16
| uint32
| фиксированная точка
Port_1
— Выходной сигналВыходной сигнал, который является квадратным корнем, подписанным квадратным корнем или обратной величиной квадратного корня из входного сигнала. Когда входной параметр является целым числом или фиксированной точкой, вывод должен быть плавающей точкой.
Типы данных: единственный
| удваиваются
| int8
| int16
| int32
| uint8
| uint16
| uint32
| фиксированная точка
Функция
Функционируйте блок выполняетsqrt
(значение по умолчанию) | signedSqrt
| rSqrt
Задайте математическую функцию, которую вычисляет блок. Блочный значок изменяется, чтобы совпадать с функцией, которую вы выбираете.
Функция | Блокируйте значок |
---|---|
sqrt
| |
signedSqrt
| |
rSqrt
|
Блочный параметр: Оператор |
Ввод: символьный вектор |
Значения: 'sqrt' | 'signedSqrt' | 'rSqrt' |
Значение по умолчанию: sqrt |
Output signal type
— Тип выходного сигналаauto
(значение по умолчанию) | real
| complex
Задайте тип выходного сигнала блока.
Функция | Тип входного сигнала | Тип выходного сигнала | ||
---|---|---|---|---|
'auto' | Действительный | Комплекс | ||
|
|
|
|
|
|
|
|
| |
|
|
|
|
|
|
|
|
| |
|
|
|
|
|
|
|
|
|
Блочный параметр: OutputSignalType |
Ввод: символьный вектор |
Значения: 'auto' | 'действительный' | 'комплекс' |
Значение по умолчанию: 'auto' |
'SampleTime'
Задайте частоту дискретизации как значение кроме -1
-1
(значение по умолчанию) | скалярЗадайте частоту дискретизации как значение кроме-1. Для получения дополнительной информации см. Настройку времени выборки.
Этот параметр не видим, если он явным образом не установлен в значение кроме -1
. Чтобы узнать больше, смотрите Блоки, для Которых Не Рекомендуется Частота дискретизации.
Блочный параметр:
'SampleTime' |
Ввод: символьный вектор |
Значения: скаляр |
Значение по умолчанию:
'-1' |
Method
— Метод, чтобы вычислить обратную величину квадратного корняExact
(значение по умолчанию) | Newton-Raphson
Задайте метод для вычисления обратной величины квадратного корня. Этот параметр только допустим для функции rSqrt
.
Метод | Поддерживаемые типы данных | Когда использовать этот метод |
---|---|---|
Exact
| Плавающая точка При использовании фиксированную точку или встроенный целый тип, восходящее к типу с плавающей точкой происходит. | Вы не хотите приближение. ПримечаниеВвод или вывод должен быть плавающей точкой. |
Newton-Raphson
| Фиксированная точка с плавающей точкой и встроенные целые типы | Вы хотите быстрое, приближенное вычисление. |
Метод Exact
обеспечивает результаты, которые сопоставимы с вычислениями MATLAB.
Алгоритмы для sqrt
и signedSqrt
всегда имеют тип Exact
, неважно какой выбор появляется на блочном диалоговом окне.
Блочный параметр: AlgorithmType |
Ввод: символьный вектор |
Значения: 'Точный' | 'Ньютон-Raphson' |
Значение по умолчанию: 'Exact' |
Number of iterations
— Количество итераций используется для алгоритма Ньютона Рэфсона3
(значение по умолчанию) | целое числоЗадайте количество итераций, чтобы выполнить алгоритм Ньютона-Raphson. Этот параметр допустим с функцией rSqrt
и значением Newton-Raphson
для Метода.
Если вы входите 0, блок вывод является исходным предположением алгоритма Ньютона-Raphson.
Блочный параметр: Iterations |
Ввод: символьный вектор |
Значения: целое число |
Значение по умолчанию: '3' |
Нажмите ассистент типа данных Show кнопка, чтобы отобразить Ассистент Типа данных, который помогает вам установить атрибуты типа данных. Для получения дополнительной информации смотрите, Задают Типы данных Используя Ассистент Типа данных.
Intermediate results data type
— Тип данных промежуточных результатовInherit:Inherit via internal rule
(значение по умолчанию) | Inherit: Inherit: Inherit from input
| Inherit: Inherit: Inherit from output
| double
| single
| int8
| int32
| uint32
| fixdt(1,16,2^0,0)
| <data type expression>
Задайте тип данных для промежуточных результатов когда вы функция множества к 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' |
Вывод
Тип выходных данныхInherit: Same as first input
(значение по умолчанию) | Inherit: Inherit via internal rule
| Inherit: Inherit via back propagation
| double
| single
| int8
| int32
| uint32
| fixdt(1,16,2^0,0)
| <data type expression>
|...Задайте тип выходных данных. Тип может быть наследован, задан непосредственно или выражен как объект типа данных, такой как 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' |
Lock output data type setting against changes by the fixed-point tools
— Препятствуйте тому, чтобы Fixed-Point Tool заменили типы данныхoff
(значение по умолчанию) | on
Выберите, чтобы заблокировать установку типа выходных данных этого блока против изменений Fixed-Point Tool и Советником Фиксированной точки. Для получения дополнительной информации смотрите, что Тип Выходных данных Блокировки Использования Устанавливает (Fixed-Point Designer).
Блочный параметр: LockScale |
Ввод: символьный вектор |
Значения: 'off' | 'on' |
Значение по умолчанию: 'off' |
Saturate on integer overflow
— Выберите поведение, когда целочисленное переполнение произойдетon
(значение по умолчанию) | булевская переменная
Действие | Причины принятия этих мер | Что происходит для переполнения | Пример |
---|---|---|---|
Установите этот флажок. |
Ваша модель имеет возможное переполнение, и вы хотите явную защиту насыщенности в сгенерированном коде. |
Переполнение насыщает или к минимальному или к максимальному значению, которое может представлять тип данных. |
Максимальное значение, которое может представлять |
Не устанавливайте этот флажок. |
Вы хотите оптимизировать эффективность своего сгенерированного кода. Вы не хотите чрезмерно определять, как блок обрабатывает сигналы из области значений. Для получения дополнительной информации смотрите Проверку на Ошибки Диапазона сигнала. |
Переполнение переносится к соответствующему значению, которое является представимым, по условию вводят. |
Максимальное значение, которое может представлять |
Когда вы устанавливаете этот флажок, насыщенность применяется к каждой внутренней операции на блоке, не только выводу или результату. Обычно, процесс генерации кода может обнаружить, когда переполнение не возможно. В этом случае генератор кода не производит код насыщенности.
Блочный параметр: SaturateOnIntegerOverflow |
Ввод: символьный вектор |
Значение: 'off' | 'on' |
Значение по умолчанию: 'on' |
Типы данных |
|
Прямое сквозное соединение |
|
Многомерные сигналы |
|
Сигналы переменного размера |
|
Обнаружение пересечения нулем |
|
Для получения информации о поддержке генерации HDL-кода смотрите Sqrt, Sqrt Со знаком.
1. Если смысл перевода понятен, то лучше оставьте как есть и не придирайтесь к словам, синонимам и тому подобному. О вкусах не спорим.
2. Не дополняйте перевод комментариями “от себя”. В исправлении не должно появляться дополнительных смыслов и комментариев, отсутствующих в оригинале. Такие правки не получится интегрировать в алгоритме автоматического перевода.
3. Сохраняйте структуру оригинального текста - например, не разбивайте одно предложение на два.
4. Не имеет смысла однотипное исправление перевода какого-то термина во всех предложениях. Исправляйте только в одном месте. Когда Вашу правку одобрят, это исправление будет алгоритмически распространено и на другие части документации.
5. По иным вопросам, например если надо исправить заблокированное для перевода слово, обратитесь к редакторам через форму технической поддержки.