Взаимодействуйте с ускоряющими режимами программно

Почему взаимодействуют программно?

Можно создать ускоренную модель, выбрать режим симуляции и запустить симуляцию от командной строки или из скрипта MATLAB®. С этой гибкостью можно создать файлы MEX Режима Accelerator в пакетном режиме, позволив вам создать код С и исполняемый файл прежде, чем запустить симуляции. Когда вы будете использовать Режим Accelerator в интерактивном режиме в более позднее время, не будет необходимо сгенерировать или скомпилировать файлы MEX в начале ускоренных симуляций.

Создайте JIT ускоренный механизм выполнения

С accelbuild команда, можно создать ускоренный механизм выполнения JIT, на самом деле не симулируя модель. Например, чтобы создать симуляцию Режима Accelerator myModel:

accelbuild myModel

Управляйте симуляцией

Можно управлять режимом симуляции от приглашения командной строки при помощи set_param команда:

set_param('modelname','SimulationMode','mode')

Режимом симуляции может быть normal, accelerator, rapid, или external.

Например, чтобы симулировать вашу модель с Режимом Accelerator, вы использовали бы:

set_param('myModel','SimulationMode','accelerator')
Однако предпочтительный метод должен задать режим симуляции в sim команда:
simOut = sim('myModel', 'SimulationMode', 'accelerator');

Можно использовать bdroot устанавливать параметры для в настоящее время активной модели (то есть, активного окна модели), а не modelname если вы не хотите явным образом задавать имя модели.

Например, чтобы симулировать в настоящее время открытую систему в Быстром Режиме Accelerator, вы использовали бы:

simOut = sim(bdroot,'SimulationMode','rapid');

Симулируйте свою модель

Можно использовать set_param сконфигурировать параметры модели (такие как режим симуляции и время остановки), и использовать sim команда, чтобы запустить симуляцию:

sim('modelname', 'ReturnWorkspaceOutputs', 'on');

Однако предпочтительный метод состоит в том, чтобы сконфигурировать параметры модели непосредственно с помощью sim команда, как показано в предыдущем разделе.

Можно заменить gcs для modelname если вы не хотите явным образом задавать имя модели.

Если целевой код не был уже сгенерирован, sim команда сначала создает исполняемый файл и затем запускает симуляцию. Однако, если целевой код был уже сгенерирован, и никакие существенные изменения не были сделаны к модели (см. Регенерацию Кода в Ускоренных Моделях для описания), sim команда выполняет сгенерированный код, не регенерируя код. Этот процесс позволяет вам запустить свою модель после внесения простых изменений, не имея необходимость ожидать модели, чтобы восстановить.

Пример симуляции

Следующая последовательность показывает, как программно симулировать myModel в Быстром Режиме Accelerator в течение 10 000 секунд.

Откройте сначала myModel, и затем введите следующее в Командном окне:

simOut = sim('myModel', 'SimulationMode', 'rapid'...
'StopTime', '10000');

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

Настройте ускоряющий процесс сборки

Можно программно управлять Режимом Accelerator и Быстрым процессом сборки Режима Accelerator и объемом информации, отображенным во время процесса сборки. Смотрите Настраивают Процесс сборки для получения дополнительной информации о том, почему выполнение так может быть выгодным.

Управление процессом сборки

Используйте SimCompilerOptimization установить степень оптимизации, используемой компилятором при генерации кода для ускорения. Разрешенными значениями является on или off. Значением по умолчанию является off.

Введите следующее в командной строке, чтобы включить компиляторную оптимизацию:

set_param('myModel', 'SimCompilerOptimization', 'on')

Когда SimCompilerOptimization установлен в on в ускоренном режиме JIT улучшается время симуляции для некоторых моделей, в то время как время изготовления может стать медленнее.

Управление многословием во время генерации кода

Используйте AccelVerboseBuild параметр, чтобы отобразить информацию о прогрессе во время генерации кода. Разрешенными значениями является on или off. Значением по умолчанию является off.

Введите следующее в командной строке, чтобы включить многословную сборку:

set_param('myModel', 'AccelVerboseBuild', 'on')

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

Больше о