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

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

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

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

Больше о