Разверните модель SimBiology

В этом примере показано, как развернуть графическое приложение, которое симулирует модель SimBiology®. Модель в качестве примера является системой реакции Лотки - Вольтерры, аналогичной описанному Гиллеспи [1], который может быть интерпретирован как простая модель добычи хищника.

Этот пример требует MATLAB Compiler™.

Обзор

Можно создать автономные приложения SimBiology с помощью MATLAB Compiler и SimBiology экспортируемая модель. Чтобы подать вашу заявку, совместимую с MATLAB Compiler, сделайте следующее:

  • Создайте экспортируемую модель, с помощью export модели метод.

  • Ускорьте (дополнительную) модель.

  • Сохраните модель в файл MAT.

  • Обеспечьте вашим загрузкам приложения модель из файла MAT.

  • Добавьте %#function прагма к функции приложения верхнего уровня.

  • Вызовите mcc функция, явным образом добавляя файл MAT и зависимые файлы экспортируемой модели к приложению.

Загрузите модель

sbioloadproject lotka m1

Создайте экспортируемую модель

exportedModel = export(m1);

Ускорьте модель

Ускорение требует правильно сконфигурированного компилятора MEX (см. документацию для mex -setup).

accelerate(exportedModel);

Сохраните экспортируемую модель

Не прокомментируйте следующую строку, чтобы сохранить модель в exportedLotka.mat

% save exportedLotka exportedModel

Вызовите mcc

Функция верхнего уровня для приложения, simulateLotkaGUI.m, был уже обновлен, чтобы использовать экспортируемый файл модели MAT. Это также содержит следующий %#function прагма, которая говорит MATLAB Compiler, что приложение использует SimBiology экспортируемая модель: %#function SimBiology.export.Model

Теперь определите список файлов, чтобы явным образом добавить к приложению. Этот список включает файл MAT, содержащий экспортируемую модель и любые файлы, перечисленные в DependentFiles свойство экспортируемой модели. Обратите внимание на то, что этот файл MAT должен загрузиться в рабочую область перед mcc называется, так, чтобы файлы экспортируемой модели были доступны для развертывания.

% To speed up compilation, we use the option |-N -p simbio|, which informs
% |mcc| that the deployed application does not depend on any additional
% toolboxes. For the purposes of this example, we programmatically
% construct the |mcc| command.
mccCommand = ['mcc -m simulateLotkaGUI.m -N -p simbio -a exportedLotka.mat ' ...
    sprintf(' -a %s', exportedModel.DependentFiles{:})];

% Uncomment the following line to execute the |mcc| command. This may take
% several minutes.
%
% eval(mccCommand) 

Ссылки

[1] Гиллеспи Д.Т. "Точная стохастическая симуляция двойных химических реакций", (1977) журнал физической химии, 81 (25), 2340-2361.