cgsl_0202: Использование For, While и Для каждой подсистемы с векторными сигналами

Идентификатор: Заголовокcgsl_0202: Использование For, While и Для каждой подсистемы с векторными сигналами
ОписаниеПри разработке модели для генерации кода,
AИспользуйте For, While и For Each подсистемы для вычислений, которые требуют итерационного поведения или работают с подмножеством ( системой координат) данных.
BИзбегайте использования For, While или For Каждой подсистемы для основных векторных операций.
ОбъяснениеA, BИзбегайте избыточных циклов.
См. также
Последнее изменениеR2010b
Примеры

Рекомендуемый метод для предыдущего вычисления состоит в том, чтобы поместить блок Gain вне Подсистемы For. Если вычисления требуются как часть большего алгоритма, можно избежать вложения for циклы с использованием блоков Index Vector и Assignment.

Рекомендуется

for (s1_iter = 0; s1_iter < 10; s1_iter++) {
  RecommendedOut[s1_iter] = 2.3 * vectorInput[s1_iter];
}

Распространенной ошибкой является встраивание основных векторных операций в подсистему For, While или For Each. Следующий пример включает простое усиление вектора внутри подсистемы For, что приводит к ненужным вложенным for циклы.

Не рекомендуется

for (s1_iter = 0; s1_iter < 10; s1_iter++) {
  for (i = 0; i < 10; i++) {
    NotRecommendedOut[i] = 2.3 * vectorInput[i];
  }
}