simulate

Класс: SimBiology.export.Model

Симулируйте экспортируемую модель SimBiology

Синтаксис

[t,x,names] = simulate(model)
[t,x,names] = simulate(model,initialValues)
[t,x,names] = simulate(model,initialValues,doses)
simDataObj = simulate(___)

Описание

[t,x,names] = simulate(model) симулирует модель, с помощью начальных значений по умолчанию, заданных model.InitialValues (которые всегда равны InitialValue свойство на соответствующем ValueInfo объект. simulate возвращается:

  • t, выборки времени.

  • x, данные моделирования, которые содержат изменение количества состояний в зависимости от времени.

  • names, метки столбца данных моделирования x.

Можно установить опции дополнительной симуляции с помощью свойства SimBiology.export.Model.SimulationOptions.

[t,x,names] = simulate(model,initialValues) симулирует модель, с помощью значений, заданных в initialValues как начальные значения симуляции.

[t,x,names] = simulate(model,initialValues,doses) симулирует модель, с помощью заданных начальных значений и доз.

simDataObj = simulate(___) возвращает данные моделирования в SimData object simDataObj с помощью любого из входных параметров в предыдущих синтаксисах. simDataObj содержит время и данные состояния, а также метаданные, такие как типы и имена для состояний, о которых сообщают. Можно получить доступ ко времени, данным и хранилищам имен в simDataObj использование свойств simDataObj.Time, simDataObj.Data, и simDataObj.DataNames, соответственно.

Входные параметры

model

SimBiology.export.Model объект.

initialValues

Вектор из значений для simulate использовать в качестве начальных значений симуляции. initialValues должен иметь то же число элементов как model.InitialValues.

Значение по умолчанию: Значения заданы в model.InitialValues.

doses

Вектор из объектов дозы, задающих дозы, используется для симуляции. Входные объекты дозы должны быть подмножеством доз в экспортируемой модели, как возвращено getdose.

Значение по умолчанию: Вся доза возражает в экспортируемой модели.

Выходные аргументы

t

n-by-1 вектор из выборок времени от симуляции, где n является количеством выборок времени.

x

n-by-m матрица данных моделирования, где n является количеством выборок времени и m, является количеством состояний, регистрируемых во время симуляции. Каждый столбец x описывает изменение количества состояния в зависимости от времени.

names

m-by-1 массив ячеек из символьных векторов с именами, маркирующими строки и столбцы x, соответственно.

simDataObj

SimData object содержа время симуляции и данные состояния, а также метаданные, такие как типы и имена для состояний, о которых сообщают.

Примеры

развернуть все

Загрузите демонстрационный объект модели SimBiology и выберите разновидности y1 и y2 для симуляции.

modelObj = sbmlimport('lotka');
modelObj.getconfigset.RuntimeOptions.StatesToLog = ...
       sbioselect(modelObj,'Name',{'y1','y2'});

Экспортируйте объект модели.

em = export(modelObj);

Симулируйте экспортируемую модель.

[t,y] = simulate(em);

figure()
plot(t,y)

Измените начальные условия и симулируйте снова.

xIndex = em.getIndex('x');
em.InitialValues(xIndex) = em.InitialValues(xIndex)*1.1;
[t,y] = simulate(em);

figure()
plot(t,y)