sbioaccelerate

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

Описание

пример

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

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

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

Примечание

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

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

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

пример

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

пример

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

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

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

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

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

пример

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

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

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

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

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

пример

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

Если вы устанавливаете 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 object. The axes object 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);

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

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

Figure contains an axes object. The axes object 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 object. The axes object with title States versus Time contains 2 objects of type line. These objects represent x, z.

sbioplot(sim2);

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

sbioplot(sim3);

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

sbioplot(sim4);

Figure contains an axes object. The axes object 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';

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

sbioaccelerate(m1,defaultConfigSet,dObj);

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

sim = sbiosimulate(m1,defaultConfigSet,dObj);

Постройте результат.

sbioplot(sim);

Figure contains an axes object. The axes object 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});

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

sbioaccelerate(m1,csObj,vObj,dObj);

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

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

Постройте результат.

sbioplot(sim);

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

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

свернуть все

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

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

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

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

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

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

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

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

Примечание

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

Введен в R2010a