В этом примере показано, как сконфигурировать настройки симуляции, добавить событие в модель, чтобы вызвать основанное на времени изменение, сохранить и построить график результатов симуляции. Этот пример использует модель, описанную в Модели гетеротримерного G-белкового цикла дрожжей, чтобы проиллюстрировать симуляцию модели.
Загрузите gprotein.sbproj
проект, который включает переменную m1
, SimBiology® объект модели.
sbioloadproject gprotein
Установите решатель симуляции равным ode15s
и установите время остановки 500
путем редактирования SolverType
и StopTime
свойства configset object
сопоставленный с m1
модель.
csObj = getconfigset(m1);
csObj.SolverType = 'ode15s';
csObj.StopTime = 500;
Задайте, чтобы логгировать результаты симуляции всех видов.
csObj.RuntimeOptions.StatesToLog = 'all';
Предположим количество видов лиганда L
0 в начале симуляции, но она увеличивается до заданной величины во времени = 100. Использовать sbioselect
для выбора вида с именем L
и установите его начальное значение равным 0. Использовать addevent
для настройки требуемого события.
speciesObj = sbioselect(m1,'Type','species','Name','L'); speciesObj.InitialAmount = 0; evt = addevent(m1,'time >= 100','L = 6.022E17');
Симулируйте модель.
[t,x,names] = sbiosimulate(m1);
Симулируйте результаты симуляции. Заметьте, что количество вида L увеличивается, когда событие запускается во время симуляции 100. Изменения в других видах не проявляются на графике из-за широкой области значений в видовых количествах.
plot(t,x); legend(names) xlabel('Time'); ylabel('Amount');
Чтобы увидеть изменения других видов, постройте график без данных вида L (5-й вид).
figure plot(t,x(:,[1:4 6:8])); legend(names{[1:4 6:8]}); xlabel('Time'); ylabel('Amount');
Альтернатива хранению данных моделирования в отдельных выходах, таких как t
, x
, и names
как и выше, вы можете хранить их все в одной SimData object
. Затем можно использовать selectbyname
чтобы извлечь массивы, содержащие интересующие вас данные моделирования.
simdata = sbiosimulate(m1); sbioplot(simdata);
Разверните Run 1, чтобы увидеть имена видов и параметра, которые нанесены.
simdata_noL = selectbyname(simdata, {'Ga','G','Gd','GaFrac','RL','R'}); sbioplot(simdata_noL);