Задайте тип правила для объекта правила
Свойство RuleType указывает на тип правила, заданного объектом правила. Объект Rule задает, как определенные разновидности, параметры и отсеки должны взаимодействовать друг с другом. Например, правило могло утвердить, что общее количество разновидностей A и разновидностей B должно быть некоторым значением. Rule является выражением MATLAB®, которое задает изменение в количестве объекта разновидностей или объекте параметра Value, когда правило оценено.
Можно добавить правило в объект модели с методом addrule и удалить правило с методом delete. Для получения дополнительной информации о правилах смотрите addrule.
Типы правил в SimBiology® следующие:
initialAssignment — Позволяет вам задать начальное значение параметра, разновидностей или способности отсека, как функция других значений компонента модели в модели.
repeatedAssignment — Позволяет вам задать значение, которое содержит в любом случае во время симуляции и является функцией других значений компонента модели в модели.
algebraic — Позволяет вам задать математические ограничения на один или несколько параметров, разновидностей или отсеков, которые должны содержать во время симуляции.
rate — Позволяет вам задать производную времени значения параметров, суммы разновидностей или способности отсека.
Если модели задали разновидность в концентрации, отличающейся правилом rate, и это находится в отсеке с переменным объемом, можно только использовать rate или правила initialAssignment отличаться объем отсека.
С другой стороны, если вы отличаетесь объем отсека с помощью repeatedAssignment или правил algebraic, затем вы не можете отличаться разновидность (заданный в концентрации) в том отсеке с правилом rate.
Причина этих ограничений состоит в том, что, если разновидность задана в концентрации и это находится в отсеке с переменным объемом, производная времени той разновидности является функцией скорости изменения отсека. Поскольку отсеки отличались правилами скоростей, решатель имеет ту информацию.
Обратите внимание на то, что, если вы задаете разновидности в суммах нет никаких ограничений.
| Применяется | Объект: правило |
| Тип данных | Символьный вектор |
| Значения данных | 'initialAssignment', 'repeatedAssignment' 'algebraic', 'rate'. Значением по умолчанию является 'initialAssignment'. |
| Доступ | Чтение-запись |
Создайте объект модели, и затем добавьте объект реакции.
modelObj = sbiomodel ('my_model'); reactionObj = addreaction (modelObj, 'a -> b');
Добавьте правило, которое задает количество разновидности c. В выражении правила k является константой скорости для a -> b.
ruleObj = addrule(modelObj, 'c = k*(a+b)')Измените RuleType от значения по умолчанию ('initialAssignment') к 'rate' и проверьте его с помощью команды get.
set(ruleObj, 'RuleType', 'rate'); get(ruleObj)
MATLAB возвращает все свойства для объекта правила.
Active: 1
Annotation: ''
Name: ''
Notes: ''
Parent: [1x1 SimBiology.Model]
Rule: 'c = k*(a+b)'
RuleType: 'rate'
Tag: ''
Type: 'rule'
UserData: []