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];
  }
}