Сортировка входных элементов по значению
Системный тулбокс/статистика DSP
Блок Sort ранжирует значения входных элементов вдоль каждого канала (столбца) в Ascending или Descending порядок, на основе заданных Sort order. Комплексные входы сортируются по их величине, которая является суммой квадратов действительных и мнимых компонентов входа. Можно выбрать любой из Sort algorithm Quick sort или Insertion sort. Алгоритм быстрой сортировки использует рекурсивный метод сортировки и быстрее сортирует более 32 элементов. Алгоритм сортировки вставки использует нерекурсивный метод и быстрее сортирует менее 32 элементов. Когда вы генерируете код, используйте алгоритм сортировки вставки, чтобы избежать рекурсивных вызовов функции.
Параметр Mode задает режим работы блока, который можно задать равным Value, Index, или Value and Index.
Port_1 - Вход данныхБлок принимает реальные или комплексные многоканальные входы. Тип входных данных должен быть двойной точности, одинарной точности, целого числа или фиксированной точки с степенью наклона два и нулевым смещением.
Типы данных: single | double | int8 | int16 | int32 | int64 | uint8 | uint16 | uint32 | uint64 | fixed point
Поддержка комплексного числа: Да
Val - Отсортированные данныеБлок сортирует данные по каждому каналу и выводит отсортированные данные через этот порт. Размер, тип данных и сложность отсортированных данных совпадают с размером входных данных. Блок сортирует комплексные входы согласно их величине.
Чтобы включить этот порт, установите параметр Mode равным Value and index или Value.
Типы данных: single | double | int8 | int16 | int32 | int64 | uint8 | uint16 | uint32 | uint64 | fixed point
Поддержка комплексного числа: Да
Idx - Индекс отсортированных данныхВыходы этого порта содержат индексы отсортированных данных.
Чтобы включить этот порт, установите параметр Mode равным Value and index или Index.
Типы данных: uint32
Mode - Задайте, возвращает ли блок значения, индексы или то и другое одновременноValue and Index (по умолчанию) | Value | IndexКогда параметр Mode установлен в:
Value - Блок сортирует элементы в каждом канале входной матрицы M -by N в порядке возрастания или убывания, основываясь на том, что вы задаете в параметре Sort order. Выходы в каждом шаге расчета, Val, являются M матрицей -by N, которая содержит отсортированные столбцы входа.
Блок сортирует комплексные входы согласно их величине.
Index - Блок сортирует элементы в каждом канале входной матрицы M -by N и выводит массив индексов, I. Каждый элемент в I является целым числом типа uint32 который индексирует отсортированное значение в соответствующем столбце входа.
Value and index - Блок выводит отсортированные значения входных данных, Val и соответствующих индексов в массиве индексов, I.
Sort order - Порядок сортировкиAscending (по умолчанию) | DescendingЗадайте, чтобы отсортировать входные данные в порядке возрастания или убывания.
Sort algorithm - Метод сортировкиQuick sort (по умолчанию) | Insertion sortАлгоритм быстрой сортировки использует рекурсивный метод сортировки и быстрее сортирует более 32 элементов. Алгоритм сортировки вставки использует нерекурсивный метод и быстрее сортирует менее 32 элементов. Когда вы генерируете код, чтобы избежать рекурсивных вызовов функции, используйте алгоритм сортировки вставки.
Примечание
Чтобы использовать эти параметры, вход данных должен быть комплексным и фиксированным. Для всех других входов параметры на вкладке Data Types игнорируются.
Rounding mode - Метод округленияFloor (по умолчанию) | Ceiling | Convergent | Nearest | Round | Simplest | ZeroЗадайте режим округления для операций с фиксированной точкой. Для получения дополнительной информации смотрите режим округления.
Saturate on integer overflow - Метод действия переполненияКогда вы выбираете этот параметр, блок насыщает результат своей операции с фиксированной точкой. Когда вы очищаете этот параметр, блок переносит результат своей операции с фиксированной точкой. Для получения дополнительной информации о saturate и wrap, см. Режим переполнения для операций с фиксированной точкой.
Product output - Тип выходных данных продуктаInherit: Same as input (по умолчанию) | fixdt([],16,0)Квадраты действительной и мнимой частей комплексного входа хранятся в Product output типе данных.
Можно задать этот параметр как:
Inherit: Same as input - Тип выходных данных продукта совпадает с типом входных данных.
fixdt([],16,0) - тип выходных данных продукта является автоматическим, двоичным, масштабированным, типом данных с фиксированной точкой с размером слова 16 бит и длиной дроби 0.
Также можно задать тип данных Product output при помощи Data Type Assistant. Чтобы использовать ассистента, нажмите кнопку Show data type assistant
.
Дополнительные сведения о помощнике по типам данных см. в разделе «Задание типов данных с использованием помощника по типам данных» (Simulink).
Accumulator - Тип данных аккумулятораInherit: Same as product output (по умолчанию) | Inherit: Same as input | fixdt([],16,0)Результат суммы квадратов действительной и мнимой частей комплексного входа сохраняются в Accumulator типе данных.
Можно задать этот параметр как:
Inherit: Same as product output - Тип данных аккумулятора совпадает с типом выходных данных продукта.
Inherit: Same as input - Тип данных аккумулятора совпадает с типом входных данных.
fixdt([],16,0) - тип данных аккумулятора является автоматическим, двоичным, масштабированным, типом данных с фиксированной точкой с размером слова 16 бит и длиной дроби 0.
Также можно задать тип данных Accumulator при помощи Data Type Assistant. Чтобы использовать ассистента, нажмите кнопку Show data type assistant
.
Дополнительные сведения о помощнике по типам данных см. в разделе «Задание типов данных с использованием помощника по типам данных» (Simulink).
Lock data type settings against changes by the fixed-point tools - Предотвратить переопределение типов данных инструментами с фиксированной точкойВыберите этот параметр, чтобы предотвратить переопределение инструментами с фиксированной точкой типов данных, заданных в блоке.
Типы данных |
|
Прямое сквозное соединение |
|
Многомерные сигналы |
|
Сигналы переменного размера |
|
Обнаружение пересечения нулем |
|
Блок выдает результаты, идентичные MATLAB®
sort функция.
Выход блока эквивалентен следующему коду MATLAB, когда Sort order установлено на:
Ascending — [Val,I] = sort(u,'ascend')
Descending — [Val,I] = sort(u,'descend')
где:
u - вход данных.
Val - отсортированный выход.
I - индекс отсортированного выхода.
Когда вход сложен, блок сортирует данные согласно величине. Блок вычисляет величину, взяв сумму квадратов действительных и мнимых компонентов комплексного входа. Это идентично вызову sort функционировать как [Val,I] = sort(u,...,'ComparisonMethod','abs').
Сгенерированный код опирается на memcpy или memset функции (string.h) при определенные обстоятельства.
Параметры на вкладке Data Types используются только для сложных входов с фиксированной точкой. Комплексные входы сортируются по их величине, которая является суммой квадратов действительных и мнимых компонентов входа. Результаты квадратов действительной и мнимой частей хранятся в Product output типе данных. Результат суммы квадратов сохранен в Accumulator типе данных. Параметры на вкладке Data Types игнорируются для всех других входов.
1. Если смысл перевода понятен, то лучше оставьте как есть и не придирайтесь к словам, синонимам и тому подобному. О вкусах не спорим.
2. Не дополняйте перевод комментариями “от себя”. В исправлении не должно появляться дополнительных смыслов и комментариев, отсутствующих в оригинале. Такие правки не получится интегрировать в алгоритме автоматического перевода.
3. Сохраняйте структуру оригинального текста - например, не разбивайте одно предложение на два.
4. Не имеет смысла однотипное исправление перевода какого-то термина во всех предложениях. Исправляйте только в одном месте. Когда Вашу правку одобрят, это исправление будет алгоритмически распространено и на другие части документации.
5. По иным вопросам, например если надо исправить заблокированное для перевода слово, обратитесь к редакторам через форму технической поддержки.