| Идентификатор: Заголовок | cgsl_0202: Использование подсистем For, While и For с векторными сигналами | ||
|---|---|---|---|
| Описание | При разработке модели для генерации кода | ||
| A | Используйте для, время и для каждой подсистемы для вычислений, которые требуют итеративного поведения или работают с подмножеством (кадром) данных. | ||
| B | Избегайте использования подсистем For, While или For Each для базовых векторных операций. | ||
| Объяснение | A, B | Избегайте избыточных петель. | |
| См. также |
| ||
| Последнее изменение | R2010b | ||
| Примеры | Рекомендуемый метод для предыдущего расчета состоит в размещении блока усиления вне подсистемы For. Если вычисления требуются как часть большего алгоритма, можно избежать вложенности Рекомендуется
for (s1_iter = 0; s1_iter < 10; s1_iter++) {
RecommendedOut[s1_iter] = 2.3 * vectorInput[s1_iter];
}Обычной ошибкой является встраивание базовых векторных операций в подсистему For, While или For Each. Следующий пример включает простое усиление вектора в подсистеме For, что приводит к ненужному вложению | ||
Не рекомендуется
for (s1_iter = 0; s1_iter < 10; s1_iter++) {
for (i = 0; i < 10; i++) {
NotRecommendedOut[i] = 2.3 * vectorInput[i];
}
} | |||