exponenta event banner

Пока итератор

Повторять выполнение подсистемы, пока логическое выражение имеет значение true

  • Библиотека:
  • Порты и подсистемы

  • While Iterator block

Описание

Блок While Iterator, помещенный в блок Subsystem, многократно выполняет содержимое подсистемы в течение текущего временного шага, в то время как значение входного условия равно true или 1. Используйте этот блок для реализации эквивалентной блок-схеме while цикл на языке программирования.

Блок While Iterator Subsystem предварительно сконфигурирован с блоком While Iterator. Размещение блока итератора в блоке подсистемы делает его атомной подсистемой.

Порты

Вход

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

Сигнал с результатом оценки логического условия. Поскольку подсистема не запускается извне во время временного шага, оценивая условие как true (1) или false (0) должны находиться в подсистеме.

Тип данных и значения сигнала могут быть следующими:

  • Логический (логический) - true (1) или false (0) .

  • Числовое - true (любое положительное или отрицательное число) или false (0).

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

Сигнал с исходным логическим условием. В начале каждого шага времени:

  • Если IC имеет значение false (0), подсистема не выполняется в течение временного шага.

  • Если IC true (значение не равно 0), подсистема начинает выполнение и продолжает повторять выполнение, пока cond сигнал истинен.

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

Выходные аргументы

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

Сигнал с количеством выполнений блока While Iterator Subsystem в течение каждого временного шага.

Типы данных: double | int8 | int16 | int32

Параметры

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

Укажите максимальное число итераций, разрешенных на шаге времени.

-1

Любое количество итераций до cond сигнал истинен (значение не равно 0) . При указании -1 и cond сигнал никогда не становится ложным (0), моделирование выполняется в бесконечном цикле. В этом случае единственным способом остановить моделирование является прекращение работы MATLAB ®.

целое число

Максимальное количество итераций в течение временного шага.

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

Параметр блока: MaxIters
Текст: символьный вектор
Значения: '5' | '-1' | '<integer>'
По умолчанию: '5'

Выберите тип блока.

while

Блок итератора имеет два входа, а cond (логическое условие) вход и IC (исходное логическое условие) вход. Источник IC сигнал должен быть внешним по отношению к блоку While Iterator Subsystem.

В начале каждого шага времени:

  • Если IC вход - true (значение не равно 0), блоки в подсистеме повторяют выполнение, пока cond input имеет значение true. Этот процесс продолжается в течение временного шага, пока cond входное значение равно true, а число итераций меньше или равно максимальному числу итераций.

  • Если IC input имеет значение false, а блок итератора не выполняет содержимое подсистемы.

do-while

Блок итератора имеет один вход, cond (пока условие) вход.

На каждом шаге времени блоки в подсистеме повторяют выполнение, пока cond вход - true (значение не равно 0). Этот процесс продолжается до тех пор, пока cond входное значение равно true, а число итераций меньше или равно максимальному числу итераций.

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

Параметр блока: WhileBlockType
Текст: символьный вектор
Значения: 'while' | 'do-while'
По умолчанию: 'while'

Выберите способ обработки состояний блоков между шагами времени.

held

Сохранение состояния блокировки между шагами времени. Значения состояния блока сохраняются на всех этапах времени.

reset

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

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

Параметр блока: ResetStates
Текст: символьный вектор
Значения: 'held' | 'reset'
По умолчанию: 'held'

Управление отображением выходного порта для сигнала с числом выполнения блока. Значение сигнала от этого порта начинается с 1и увеличивается на 1 для каждой последующей итерации.

прочь

Удаление выходного порта.

на

Отображение выходного порта для сигнала с номером итерации.

Зависимости

При выборе этого параметра включается параметр Output data type.

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

Параметр блока: ShowIterationPort
Текст: символьный вектор
Значения: 'off' | 'on'
По умолчанию: 'off'

Выберите тип выходных данных для сигнала номера итерации. Значение этого сигнала - это количество итераций во время временного шага и общее количество итераций в конце временного шага.

int32

Подписанное 32-разрядное целое число.

uint32

Беззнаковое 32-разрядное целое число.

int16

Знаковое 16-разрядное целое число.

uint16

без знака 16-битное целое число.

int8

Целое число со знаком 8 бит.

uint8

Беззнаковое 8-разрядное целое число.

double

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

Зависимости

Установите флажок Показать порт номера итерации (Show iteration number port), чтобы включить этот параметр.

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

Параметр блока: OutputDataType
Текст: символьный вектор
Значение: 'int32' | 'unt32'|'int16' | 'uint16'|'int8' | 'uint8'|'double'
По умолчанию: 'int32'
Представлен до R2006a