В этом примере показано, как развернуть графическое приложение, моделирующее модель SimBiology. Примером модели является реакционная система Лотка-Вольтерра, описанная Гиллеспи [1], которую можно интерпретировать как простую модель хищника-добычи.
В этом примере требуется Compiler™ MATLAB.
Автономные приложения SimBiology можно создавать с помощью компилятора MATLAB и экспортируемой модели SimBiology. Чтобы сделать приложение совместимым с компилятором MATLAB, выполните следующие действия.
Создание экспортируемой модели с помощью модели export способ.
Ускорение модели (необязательно).
Сохраните модель в файле MAT.
Убедитесь, что приложение загружает модель из файла MAT.
Добавить %#function pragma для функции верхнего уровня приложения.
Позвоните в mcc , явно добавляя файл MAT и зависимые файлы экспортируемой модели в приложение.
sbioloadproject lotka m1
exportedModel = export(m1);
Для ускорения требуется правильно настроенный компилятор MEX (см. документацию для mex -setup).
accelerate(exportedModel);
Не прокомментируйте следующую строку, чтобы сохранить модель в exportedLotka.mat
% save exportedLotka exportedModelmccФункция верхнего уровня для приложения, simulateLotkaGUI.m, уже обновлен для использования экспортированного файла MAT модели. Он также содержит следующее: %#function pragma, которая сообщает компилятору MATLAB, что приложение использует экспортированную модель 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) The Journal of Physical Chemistry, 81 (25), 2340-2361.