В этом примере показано, как развернуть графическое приложение, которое симулирует модель 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.