Ускорьте моделирование

Несколько факторов могут замедлить моделирование. Проверьте свою модель на некоторые из этих условий.

  • Ваша модель включает Интерпретированный блок MATLAB function. Когда модель включает Интерпретированный блок MATLAB function, механизм выполнения MATLAB® называется на каждом временном шаге, решительно замедляя моделирование. Используйте встроенный блок Fcn или блок Math Function, когда это возможно.

  • Ваша модель включает S-функцию файла MATLAB. S-функции файла MATLAB также вызывают механизм выполнения MATLAB на каждом временном шаге. Рассмотрите преобразование S-функции или к подсистеме или к S-функции файла MEX на C.

  • Ваша модель включает Блок памяти. Используя Блок памяти заставляет решатели переменного порядка (ode15s и ode113) сбрасывать назад к порядку 1 на каждом временном шаге.

  • Максимальный размер шага является слишком небольшим. Если вы изменили максимальный размер шага, попытайтесь запустить моделирование снова со значением по умолчанию (auto).

  • Ваши требования точности слишком высоки. Относительный допуск по умолчанию (точность на 0,1%) обычно достаточен. Для моделей с состояниями, которые переходят к нулю, если абсолютный параметр допуска является слишком маленьким, моделирование может сделать слишком много шагов вокруг значений почти нулевого состояния. Смотрите обсуждение этой ошибки в Максимальном порядке.

  • Масштаб времени является слишком длинным. Уменьшите временной интервал.

  • Проблема жестка, но вы используете нежесткий решатель. Попытайтесь использовать ode15s. Для получения дополнительной информации смотрите Жесткость Системы.

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

  • Модель содержит алгебраический цикл. Решения алгебраических циклов многократно вычисляются на каждом временном шаге. Поэтому они сильно ухудшают производительность. Для получения дополнительной информации смотрите Алгебраические Циклы.

  • Ваша модель подает блок Random Number в блок Integrator. Для непрерывных систем используйте блок Band-Limited White Noise в библиотеке Sources.

  • Ваша модель содержит средство просмотра осциллографа, которое отображает слишком много точек данных. Попытайтесь настроить настройки свойства средства просмотра, которые могут влиять на производительность. Для получения дополнительной информации смотрите Средство просмотра Осциллографа.

  • Необходимо моделировать модель многократно. Вы изменяете настраиваемые параметры между итерациями, но не вносите структурные изменения в модель. Каждая итерация требует, чтобы модель скомпилировала снова, таким образом увеличив полное время симуляции. Использование быстро перезапускает, чтобы выполнить итеративные моделирования. В этом рабочем процессе модель компилирует только однажды, и итеративные моделирования связываются к единственной фазе компиляции. Смотрите, Как Быстрый Перезапуск Улучшает Итеративные Моделирования для получения дополнительной информации.

Связанные примеры

Больше о

Была ли эта тема полезной?