В этом примере показано, как сконфигурировать настройки симуляции, добавьте событие в модель, чтобы инициировать основанное на времени изменение, сохраните и постройте результаты симуляции. Этот пример использует модель, описанную в Модели Дрожжей Гетеротримерный Цикл Белка 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');
Альтернатива хранению данных моделирования в отдельных выходных параметрах, таких как tX, и names как выше, можно сохранить их всех на сингле SimData object. Можно затем использовать selectbyname извлекать массивы, содержащие данные моделирования вашего интереса.
simdata = sbiosimulate(m1); sbioplot(simdata);

Расширьте Run 1, чтобы видеть имена разновидностей и параметра, которые построены.
simdata_noL = selectbyname(simdata, {'Ga','G','Gd','GaFrac','RL','R'});
sbioplot(simdata_noL);