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

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

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

Рекомендуемый

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

Частая ошибка состоит в том, чтобы встроить основные векторные операции в a поскольку, В то время как, или Для Каждой подсистемы. Следующий пример включает усиление простого вектора в Для подсистемы, которая приводит к ненужным вложенным циклам for.

Не рекомендуемый

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