sbioaccelerate

Подготовьте объект модели для ускоренных симуляций

Описание

пример

sbioaccelerate(modelObj) готовит объект модели для ускоренной симуляции с помощью его активной конфигурации модели (configset), любых активных вариантов и активных доз. SimBiology® модель может содержать несколько конфигураций, при этом только один активен в любой данный момент времени. Активный конфигурационный набор содержит настройки, используемые при подготовке модели к ускорению.

Для ускоренных симуляций используйте sbioaccelerate перед выполнением sbiosimulate. Необходимо использовать одну и ту же модель и настроить для обеих функций.

Повторный запуск sbioaccelerate, перед вызовом sbiosimulate, если вы изменяете эту модель, например, изменяя реакции или добавляя события. Однако существуют исключения. Для получения дополнительной информации смотрите, Когда, чтобы Повторить Ускорение.

Примечание

Если вы используете SimFunction object для симуляций он автоматически ускоряет модель при ее первом вычислении функции. Следовательно, нет необходимости бежать sbioaccelerate заранее.

Необходимые условия

Чтобы подготовить свои модели к ускоренным симуляциям, установите и настройте поддерживаемый компилятор. Для получения дополнительной информации смотрите Необходимые условия для ускорения симуляций и анализа.

пример

sbioaccelerate(modelObj,csObj) использует заданный объект configset csObj и любые активные варианты и активные дозы. Любые другие конфигурационные параметры игнорируются. Если вы задаете csObj в пустые []функция использует активный конфигурационный набор.

пример

sbioaccelerate(modelObj,dvObj) использует дозы или варианты, заданные dvObj и активный конфигурационный набор. dvObj может быть одним из следующих:

Если вы задаете dvObj в пустые []функция использует активный набор настроек, активные варианты и активные дозы.

Если вы задаете dvObj в качестве вариантов функция использует указанные варианты и активные дозы. Любые другие варианты игнорируются.

Если вы задаете dvObj в качестве доз функция использует указанные дозы и активные варианты. Любые другие дозы игнорируются.

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

пример

sbioaccelerate(modelObj,csObj,dvObj) использует объект configset csObj и дозы или варианты, заданные dvObj.

Если вы задаете csObj на [], тогда функция использует активный объект configset.

Если вы задаете dvObj на [], тогда функция не использует никаких вариантов, но использует активные дозы.

Если вы задаете dvObj в вариантах функция использует указанные варианты и активные дозы. Любые другие варианты игнорируются.

Если вы задаете dvObj для доз функция использует указанные дозы и активные варианты. Любые другие дозы игнорируются.

пример

sbioaccelerate(modelObj,csObj,variantObj,doseObj) использует объект configset csObj, объект варианта или массив вариантов, заданный variantObj и объект дозы или массив доз, заданный doseObj. Любой другой набор настроек, дозы и варианты игнорируются.

Если вы задаете csObj на [], тогда функция использует активный объект configset.

Если вы задаете variantObj на []тогда функция не использует никаких вариантов.

Если вы задаете doseObj на [], тогда функция не использует никаких доз.

Примеры

свернуть все

Загрузите проект SimBiology с именем lotka, который содержит модель m1.

sbioloadproject('lotka','m1')

Подготовьте модель к ускоренной симуляции.

sbioaccelerate(m1);

Симулируйте модель с использованием различных начальных количеств видов x.

x = sbioselect(m1,'type','species','name','x');
for i=1:5
	x.initialAmount = i;
	sd(i) = sbiosimulate(m1);
end

Постройте график результатов.

sbioplot(sd);

Figure contains an axes. The axes with title States versus Time contains 20 objects of type line. These objects represent Run 1 - x, Run 1 - y1, Run 1 - y2, Run 1 - z, Run 2 - x, Run 2 - y1, Run 2 - y2, Run 2 - z, Run 3 - x, Run 3 - y1, Run 3 - y2, Run 3 - z, Run 4 - x, Run 4 - y1, Run 4 - y2, Run 4 - z, Run 5 - x, Run 5 - y1, Run 5 - y2, Run 5 - z.

Загрузите пример проекта SimBiology.

sbioloadproject radiodecay.sbproj

Добавьте новую конфигурацию модели с другим временем остановки 15 секунд.

csObj = addconfigset(m1,'newStopTimeConfigSet');
csObj.StopTime = 15;

Подготовьте модель к ускоренной симуляции с помощью нового объекта configset.

sbioaccelerate(m1,csObj);

Симулируйте модель с помощью того же объекта конфигурации.

sim = sbiosimulate(m1,csObj);
sbioplot(sim);

Figure contains an axes. The axes with title States versus Time contains 2 objects of type line. These objects represent x, z.

Загрузите пример проекта SimBiology.

sbioloadproject radiodecay.sbproj

Увеличение количества видов x на 100 молекул через 2 и 4 секунды путем добавления плановой дозы.

dObj1 = adddose(m1,'d1','schedule');
dObj1.Amount = 100;
dObj1.AmountUnits = 'molecule';
dObj1.TimeUnits = 'second';
dObj1.Time = 2;
dObj1.TargetName = 'unnamed.x';

dObj2 = adddose(m1,'d2','schedule');
dObj2.Amount = 100;
dObj2.AmountUnits = 'molecule';
dObj2.TimeUnits = 'second';
dObj2.Time = 4;
dObj2.TargetName = 'unnamed.x';

Подготовьте модель для ускоренной симуляции с использованием массива обеих доз.

sbioaccelerate(m1,[dObj1,dObj2]);

Симулируйте модель, не используя ни дозу, ни какое-либо подмножество массива доз без необходимости повторного запуска sbioaccelerate.

sim1 = sbiosimulate(m1);
sim2 = sbiosimulate(m1,dObj1);
sim3 = sbiosimulate(m1,dObj2);
sim4 = sbiosimulate(m1,[dObj1,dObj2]);

Постройте график результатов.

sbioplot(sim1);

Figure contains an axes. The axes with title States versus Time contains 2 objects of type line. These objects represent x, z.

sbioplot(sim2);

Figure contains an axes. The axes with title States versus Time contains 2 objects of type line. These objects represent x, z.

sbioplot(sim3);

Figure contains an axes. The axes with title States versus Time contains 2 objects of type line. These objects represent x, z.

sbioplot(sim4);

Figure contains an axes. The axes with title States versus Time contains 2 objects of type line. These objects represent x, z.

Загрузите пример проекта SimBiology.

sbioloadproject radiodecay.sbproj

Получите конфигурацию модели по умолчанию из модели.

defaultConfigSet = getconfigset(m1,'default');

Увеличение количества видов x на 100 молекул через 2 секунды путем добавления плановой дозы.

dObj = adddose(m1,'d1','schedule');
dObj.Amount = 100;
dObj.AmountUnits = 'molecule';
dObj.TimeUnits = 'second';
dObj.Time = 2;
dObj.TargetName = 'unnamed.x';

Подготовьте модель к ускоренной симуляции с помощью объекта конфигурации по умолчанию и добавленного объекта дозы.

sbioaccelerate(m1,defaultConfigSet,dObj);

Симулируйте модель с помощью тех же объектов конфигурации и дозы.

sim = sbiosimulate(m1,defaultConfigSet,dObj);

Постройте график результата.

sbioplot(sim);

Figure contains an axes. The axes with title States versus Time contains 2 objects of type line. These objects represent x, z.

Загрузите пример проекта SimBiology.

sbioloadproject radiodecay.sbproj

Добавьте новую конфигурацию модели с другим временем остановки 15 секунд.

csObj = m1.addconfigset('newStopTimeConfigSet');
csObj.StopTime = 15;

Увеличение количества видов x на 100 молекул через 2 секунды путем добавления плановой дозы.

dObj = adddose(m1,'d1','schedule');
dObj.Amount = 100;
dObj.AmountUnits = 'molecule';
dObj.TimeUnits = 'second';
dObj.Time = 2;
dObj.TargetName = 'unnamed.x';

Добавьте вариант вида x использование другого начального количества 500 молекул.

vObj = addvariant(m1,'v1');
addcontent(vObj,{'species','x','InitialAmount',500});

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

sbioaccelerate(m1,csObj,vObj,dObj);

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

sim = sbiosimulate(m1,csObj,vObj,dObj);

Постройте график результата.

sbioplot(sim);

Figure contains an axes. The axes with title States versus Time contains 2 objects of type line. These objects represent x, z.

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

свернуть все

Модель SimBiology, заданная как объект модели SimBiology. Модель минимально нуждается в одном правиле реакции или скорости, чтобы ускориться для симуляций.

Объект конфигурации модели, заданный как a configset object который хранит специфическую для симуляции информацию. Когда вы задаете csObj как [], sbioaccelerate использует текущий активный конфигурационный набор.

Доза или объект варианта, заданный как один из следующих: ScheduleDose object, RepeatDose object, массив объектов дозы, Variant object, или массив исполнительных объектов.

  • Использование [] когда необходимо явным образом исключить из sbioaccelerate любые объекты вариантов функция.

  • Когда dvObj является объектом дозы, sbioaccelerate использует указанный объект дозы, а также любые активные объекты варианта при наличии. Когда вы ускоряете модель с помощью массива объектов дозы, можно симулировать модель с помощью любого подмножества объектов дозы из массива.

  • Когда dvObj является вариантом объекта, sbioaccelerate использует указанный объект варианта, а также любые активные объекты дозы, если они доступны. Вы можете использовать любой вариант входных параметров или нет при запуске sbioaccelerate.

Объект варианта, заданный как a Variant object или массив исполнительных объектов. Использование [] когда вы хотите явным образом исключить любой объект варианта из sbioaccelerate.

Объект дозы, заданный как ScheduleDose object, RepeatDose object, или массив объектов дозы. Объект дозы определяет сложения, которые вносятся в количества видов или значения параметров. Использование [] когда вы хотите явным образом исключить какие-либо объекты дозы из sbioaccelerate.

Примечание

Если вы передаете в массиве доз sbioaccelerateможно симулировать модель с помощью любого подмножества доз и не нужно запускать ускорение снова.

Введенный в R2010a