Задайте тип правила для объекта правила
The RuleType свойство указывает тип правила, заданный объектом правила. A 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: []