Различие

Вычислите различие от элемента к элементу в заданном измерении входа

Библиотека

Математические функции / Математические операции

dspmathops

Описание

Блок Difference вычисляет различие между смежными элементами в строках, столбцах или заданном измерении входного массива u. Можно сконфигурировать блок, чтобы вычислить различие только в текущем входе, или через последовательные входные параметры (рабочее различие).

Основная операция

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

Постолбцовое дифференцирование

Когда вы устанавливаете параметр Difference along на Columns, блок вычисляет различия между смежными элементами в каждом столбце входа.

y = diff(u)						% Equivalent MATLAB code

Для M-by-N входные параметры, вывод (M – 1)-by-N матрица, j которой th столбец имеет следующие элементы:

yi,j=ui+1,jui,j     1i(M1)

Построчное дифференцирование

Когда вы устанавливаете параметр Difference along на Rows, блок вычисляет различия между смежными элементами в каждой строке входа.

y = diff(u,[],2)						% Equivalent MATLAB code

Выводом является M (N-1) матрица, i которой th строка имеет следующие элементы:

yi,j=ui,j+1ui,j     1j(N1)

Дифференцирование по произвольным измерениям

Когда вы устанавливаете параметр Difference along на Specified dimension, поведение блока является расширением построчного дифференцирования, описанного ранее. Блок вычисляет различия между смежными элементами по измерению, которое вы задаете в параметре Dimension.

y = diff(u,[],d) % Equivalent MATLAB code where d is the dimension

Вывод является массивом, длина которого в заданном измерении является той меньше, чем тот из входа, и чьи длины в других размерностях неизменны. Например, считайте M-by-N-by-P-by-R входным массивом с элементами u(i,j,k,l) и примите, что Dimension является 3. Выводом блока является M-by-N-by-(P –1)-by-R массив со следующими элементами:

yi,j,k,l=ui,j,k+1,lui,j,k,l     1k(P1)

Выполнение операции

Когда вы устанавливаете параметр Running difference на Yes, блок вычисляет рабочее различие вдоль столбцов входа.

Для M-by-N входная матрица, выводом является M-by-N матрица, j которой th столбец имеет следующие элементы:

yi,j=ui+1,jui,j     2i(M1)

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

y1,j(t)=u1,j(t)uM,j(tTf)

Типы данных с фиксированной точкой

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

Можно установить аккумулятор и типы выходных данных в диалоговом окне блока, как обсуждено в Параметрах.

Примеры

Для примера, показывающего режимы блока Difference, откройте ex_difference.

Следующие данные показывают вывод блока, когда это - дифференцирование вдоль столбцов в нерабочем режиме.

Следующие данные показывают вывод блока, когда это - дифференцирование вдоль строк в нерабочем режиме.

Следующие данные показывают второй кадр блока вывод, когда блок вычисляет рабочее различие.

Параметры

Main Tab

Running difference

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

Difference along

Задайте, вычисляет ли блок различие вдоль столбцов, строк или заданного измерения входа.

Dimension

Задайте размерность на основе одну, по которой можно вычислить различия от элемента к элементу.

Этот параметр только видим, когда вы выбираете Specified dimension для параметра Difference along.

Data Types Tab

Примечание

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

Rounding mode

Задайте округляющийся режим для операций фиксированной точки как одно из следующего:

  • Floor

  • Ceiling

  • Convergent

  • Nearest

  • Round

  • Simplest

  • Zero

Для получения дополнительной информации смотрите округление режима.

Saturate on integer overflow

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

Accumulator

Задайте тип данных аккумулятора. Смотрите Типы данных с фиксированной точкой для рисунков, изображающих использование типа данных аккумулятора в этом блоке. Можно установить этот параметр на:

  • Правило, которое наследовало тип данных, например, Inherit: Inherit via internal rule. Для получения дополнительной информации об этом правиле смотрите, Наследовались через Внутреннее Правило.

  • Правило, которое наследовало тип данных, например, Inherit: Same as input.

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

Нажмите кнопку Show data type assistant, чтобы отобразить Data Type Assistant, который помогает вам установить параметр Accumulator.

Смотрите Задают Типы данных Используя Ассистент Типа данных (Simulink) для получения дополнительной информации.

Output

Задайте тип выходных данных. Смотрите Типы данных с фиксированной точкой для рисунков, изображающих использование типа выходных данных в этом блоке. Можно установить его на:

  • Правило, которое наследовало тип данных, например, Inherit: Same as accumulator

  • Правило, которое наследовало тип данных, например, Inherit: Same as input.

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

Нажмите кнопку Show data type assistant, чтобы отобразить Data Type Assistant, который помогает вам установить параметр Output.

Смотрите Типы данных Управляющего сигнала (Simulink) для получения дополнительной информации.

Minimum

Задайте минимальное значение, которое должен вывести блок. Значением по умолчанию является (незаданный) []. Simulink® использует это значение, чтобы выполнить:

  • Проверка диапазона симуляции (см. Диапазоны сигнала (Simulink)),

  • Автоматическое масштабирование типов данных с фиксированной точкой

Maximum

Задайте максимальное значение, которое должен вывести блок. Значением по умолчанию является (незаданный) []. Simulink использует это значение, чтобы выполнить:

  • Проверка диапазона симуляции (см. Диапазоны сигнала (Simulink)),

  • Автоматическое масштабирование типов данных с фиксированной точкой

Lock data type settings against changes by the fixed-point tools

Выберите этот параметр, чтобы препятствовать тому, чтобы Fixed-Point Tool заменили типы данных, которые вы задаете на маске блока.

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

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

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

  • Плавающая точка двойной точности

  • Плавающая точка с одинарной точностью

  • Фиксированная точка

  • 8-, 16-, и 32-битные целые числа со знаком

  • 8-, 16-, и 32-битное беззнаковое целое

Вывод

  • Плавающая точка двойной точности

  • Плавающая точка с одинарной точностью

  • Фиксированная точка

  • 8-, 16-, и 32-битные целые числа со знаком

  • 8-, 16-, и 32-битное беззнаковое целое

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

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

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

Смотрите также

Функции

Блоки

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