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

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

Можно создать ускоренную модель, выбрать режим моделирования и запустить моделирование от командной строки или из скрипта 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')

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

Больше о

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