move

Переместите виды SimBiology или объект параметра к новому родительскому элементу

Описание

пример

spObj = move(spObj,parentObj) перемещает SimBiology® вид или объект параметра spObj новому родительскому объекту SimBiology parentObj. Функция автоматически обновляет соответствующие выражения, наблюдения, варианты и параметризованные свойства дозы, которые ссылаются на spObj. Выражения включают реакции, кинетические законы, правила и события.

пример

spObj = move(spObj,parentObj,conflictOption) задает, как обрабатывать конфликты по совпадению имен, если parentObj уже является родительским элементом другого объекта с таким же именем, как spObj.

Примеры

свернуть все

Создайте модель с двумя отсеками.

m = sbiomodel('cell');
c1 = addcompartment(m,'c1');
c2 = addcompartment(m,'c2');
B_c1 = addspecies(c1,'B');
B_c2 = addspecies(c2,'B');
p = addparameter(m,'k1',5);
r = addreaction(m,'c1.A + c1.B -> c2.B');
k = addkineticlaw(r,'MassAction');
k.ParameterVariableNames = 'k1';

Параметр относится к модели, которая является родительским элементом.

p.Parent
ans = 
   SimBiology Model - cell 

   Model Components:
     Compartments:      2
     Events:            0
     Parameters:        1
     Reactions:         1
     Rules:             0
     Species:           3
     Observables:       0

Переместите параметр со строкой модели в кинетический закон.

p = move(p,k);

Теперь родительский элемент является объектом кинетического закона вместо объекта модели.

p.Parent
ans = 
   SimBiology Kinetic Law Array

   Index:    KineticLawName:
   1         MassAction     

Перемещение видов B из отсека c1 на c2. c2 уже имеет другой вид с таким же именем, поэтому используйте 'force' опция для разрешения конфликта по совпадению имен. The move функция переименовывается B на B_1.

B = move(B_c1,c2,'force')
B = 
   SimBiology Species Array

   Index:    Compartment:    Name:    Value:    Units:
   1         c2              B_1      0               

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

свернуть все

Вид или параметр SimBiology, заданный как видовой объект или объект параметра.

Если spObj является:

  • Объект параметра, parentObj должен быть объектом модели, реакции или кинетического закона.

  • Видовой объект, parentObj должен быть объектом отсека.

Если вы перемещаете параметр в реакцию, кинетический закон реакции является новым родительским элементом параметра. Функция создает unknown кинетический закон, если реакция уже не имеет кинетического закона.

Родительский объект, заданный как объект модели, объект реакции, объект кинетического закона или объект отсека.

Метод для разрешения конфликтов по совпадению имен, заданный как вектор символов или строка. Допустимые опции:

  • 'strict' - функция выдает ошибку, если parentObj уже является родительским элементом другого объекта с таким же именем, как spObj.

  • 'force' - Функция изменяет имя spObj путем добавления '_N', где N является наименьшим числом, таким что новое имя spObj является уникальным среди всех объектов, родившихся с parentObj.

Введенный в R2020b