Выражение, чтобы определить уравнение скорости реакции или выражение заметного объекта
Expression
свойство может быть свойством KineticLaw
(или AbstractKineticLaw
) возразите или observable
объект.
Для observable
объект, Expression
свойство является математическим выражением, которое позволяет вам выполнить вычисления постсимуляции. Для получения дополнительной информации смотрите Observable
.
Для KineticLaw
объект, Expression
свойство указывает на математическое выражение, которое используется, чтобы определить ReactionRate
свойство объекта реакции. Expression
выражение скорости реакции, присвоенное кинетическим определением закона, используемым реакцией. Кинетический используемый закон обозначается свойством KineticLawName
. Можно сконфигурировать Expression
для пользовательских кинетических законов, но не для встроенных кинетических законов. Expression
только для чтения для кинетических объектов закона.
Примечание
Если вы устанавливаете Expression
свойство к выражению скорости реакции, которое не непрерывно и дифференцируемо, смотрите Используя События, чтобы Обратиться к Разрывам в Выражениях Правила и Скорости реакции прежде, чем симулировать вашу модель.
Кинетическое определение закона обеспечивает механизм для применения определенного закона об уровне к нескольким реакциям. Это действует как шаблон отображения для скорости реакции. Кинетический закон задан математическим выражением, (заданный в свойстве Expression
), и включает разновидности и переменные параметра, используемые в выражении. Переменные разновидностей заданы в SpeciesVariables
свойство и переменные параметра заданы в ParameterVariables
свойство кинетического объекта закона.
Если реакция использует кинетическое определение закона, ReactionRate
свойство объекта реакции показывает результат отображения из кинетического определения закона. Определить ReactionRate
, переменные разновидностей и переменные параметра, которые участвуют в скорости реакции, должны быть сопоставлены в кинетическом законе для реакции. В этом случае программное обеспечение SimBiology® определяет ReactionRate
при помощи Expression
свойство абстрактного кинетического объекта закона, и путем отображения SpeciesVariableNames
к SpeciesVariables
и ParameterVariableNames
к ParameterVariables
.
Например, кинетическое определение закона Henri-Michaelis-Menten
имеет Expression
Vm*S / (Km+S), где Vm
и Km
заданы как параметры в ParameterVariables
свойство абстрактного кинетического объекта закона и S
задан как разновидность в SpeciesVariable
свойство абстрактного кинетического объекта закона.
Путем применения Henri-Michaelis-Menten
кинетический закон к реакции A -> B
с Va
отображение с Vm
A
отображение с S
, и Ka
отображение с Km
, уравнение скорости для реакции становится Va*A / (Ka+A).
Точное выражение реакции с помощью MassAction
кинетический закон варьируется в зависимости от количества реагентов. Таким образом, для кинетики действующих масс Expression
свойство установлено в MassAction
потому что в целом для кинетики действующих масс скорость реакции задана как
где [Si]
концентрация ith
реагент, mi
стехиометрический коэффициент [Si]
, nr
количество реагентов и k
постоянная скорость реакции массовой акции.
Программное обеспечение SimBiology содержит некоторые встроенные кинетические законы. Можно также задать собственные кинетические законы. Чтобы найти список доступных кинетических законов, используйте sbiowhos -kineticlaw
команда (sbiowhos
). Можно создать кинетическое определение закона с функциональным sbioabstractkineticlaw
и добавьте его в библиотеку с помощью sbioaddtolibrary
.
Применяется | Объекты: абстрактный кинетический закон, кинетический закон, заметный |
Тип данных | Символьный вектор |
Значения данных | Заданный кинетическим определением закона |
Доступ | Только для чтения в кинетическом объекте закона. Чтение-запись в пользовательском кинетическом законе. |
Пример с Henri-Michaelis-Menten
кинетика
Создайте объект модели и добавьте объект реакции в модель.
modelObj = sbiomodel ('my_model'); reactionObj = addreaction (modelObj, 'a + b -> c + d');
Задайте кинетический закон для объекта реакции.
kineticlawObj = addkineticlaw(reactionObj, 'Henri-Michaelis-Menten');
Проверьте что Expression
свойством для кинетического объекта закона является Henri-Michaelis-Menten
.
get (kineticlawObj, 'Expression')
MATLAB® возвращается:
ans = Vm*S/(Km + S)
'Henri-Michaelis-Menten'
кинетический закон имеет две переменные параметра (Vm
и Km
) и одна переменная разновидностей (S
) то, что необходимо установить. Чтобы установить эти переменные, сначала создайте переменные параметра как объекты параметра (parameterObj1, parameterObj2
) с именами Vm_d, Km_d
, и присвойте Parent
объектов значение свойства к
kineticlawObj
. Разновидности возражают с Name
a
создается когда reactionObj
создается и не должен быть переопределен.
parameterObj1 = addparameter(kineticlawObj, 'Vm_d'); parameterObj2 = addparameter(kineticlawObj, 'Km_d');
Установите имена переменных для кинетического объекта закона.
set(kineticlawObj,'ParameterVariableNames', {'Vm_d' 'Km_d'}); set(kineticlawObj,'SpeciesVariableNames', {'a'});
Проверьте, что скорость реакции описывается правильно в объекте ReactionRate
реакции свойство.
get (reactionObj, 'ReactionRate')
MATLAB возвращается:
ans = Vm_d*a/(Km_d+a)
Пример с Mass Action
кинетика.
Создайте объект модели, и затем добавьте объект реакции.
modelObj = sbiomodel ('my_model'); reactionObj = addreaction (modelObj, 'a + b -> c + d');
Задайте кинетический закон для объекта реакции.
kineticlawObj = addkineticlaw(reactionObj, 'MassAction'); get(kineticlawObj, 'Expression')
MATLAB возвращается:
ans = MassAction
Присвойте константу скорости для реакции.
set (kineticlawObj, 'ParameterVariablenames', 'k');
get (reactionObj, 'ReactionRate')
MATLAB возвращается:
ans = k*a*b