Simulink ® Accelerator™ ускоряет выполнение модели путем создания и компиляции кода C. Этот код C заменяет интерпретирующий код, используемый Simulink в обычном режиме (т.е. когда Simulink ® не находится в режиме Accelerator). Simulink Accelerator генерирует код C из модели Simulink и вызывает функцию MATLAB ® mex для компиляции и динамического связывания сгенерированного кода с Simulink. Этот процесс генерации и компиляции кода происходит при первом ускорении модели, и любое изменение модели является достаточно значительным, чтобы потребовать повторного создания (например, добавления блока).
В следующем примере модель slAccelDemoF14 используется для иллюстрации использования Simulink Accelerator.
Откройте модель slAccelDemoF14 и установите время остановки 3000 секунд. Моделирование модели и времени использования TIC/TOC.
modelName = 'slAccelDemoF14'; open_system(modelName) set_param(modelName,'stoptime','3000') tic sim(modelName); toc
Elapsed time is 10.224818 seconds.

Чтобы активировать ускоритель Simulink ®, в редакторе Simulink на вкладке Simulation в разделе Simulate выберитеAccelerator. Вы также можете выпустить set_param в командной строке MATLAB ®.
set_param(modelName,'SimulationMode','Accelerator')
Поскольку работа в ускоренном режиме создает некоторые файлы, сначала переместитесь во временную область.
originalDir = pwd; tempDir = tempname; mkdir(tempDir) cd(tempDir)
Создайте ускоренную модель и смоделируйте ее. При работе в режиме ускорителя можно запустить модель, выбрав команду Выполнить (Run) на вкладке Моделирование (Simulation) или выполнив команду:
sim(modelName)
по запросу MATLAB. В любом случае в окне команд MATLAB отображается ход процесса создания кода. Для подавления этого отображения выполните команду sim внутри оценки.
evalc('sim(modelName);');
Снова смоделировать модель. Обратите внимание, что моделирование модели выполняется намного быстрее на последующих участках.
tic sim(modelName); toc
Elapsed time is 2.968566 seconds.
Измените значение одного из настраиваемых параметров в модели и снова смоделируйте модель. Обратите внимание на то, что ускоренная версия модели не должна генерироваться повторно, поэтому моделирование по-прежнему выполняется быстрее в ускоренном режиме, чем в обычном режиме.
modelWorkspace = get_param(modelName,'ModelWorkspace'); evalin(modelWorkspace,'Mw=Mw*2;') tic sim(modelName); toc
Elapsed time is 2.853928 seconds.
Закройте модель и удалите созданные файлы.
bdclose(modelName) clear([modelName,'_acc']) cd(originalDir) rmdir(tempDir,'s')