Развертывание модели 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 pragma, которая сообщает 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] Gillespie D.T. «Точная стохастическая симуляция связанных химических реакций» (1977) The Journal of Physical Chemistry, 81 (25), 2340-2361.