Объект, содержащий выражение для вычислений после постсимуляции
Наблюдаемый объект является математическим выражением, которое позволяет вам выполнять вычисления после постсимуляции. Например, можно задать наблюдаемую экспрессию, чтобы вычислить долю лиганда, которая связана с рецептором на каждом временном шаге, или вычислить некоторую статистику, такую как площадь под кривой (AUC) профиля концентрации лекарственного средства. Можно также использовать наблюдаемый объект как ответ в симуляции, подборе кривой данных и глобальном анализе чувствительности.
Имя каждого наблюдаемого объекта в SimBiology® модель должна быть уникальной, что означает, что ни один наблюдаемый объект не может иметь такого же имени, как другой наблюдаемый, вид, отсек, параметр, реакция, вариант или доза в модели. Наблюдаемый объект может ссылаться на любые величины модели, которые регистрируются (в StatesToLog
). Он также может ссылаться на другие активные наблюдаемые объекты при условии, что выражения не содержат алгебраических циклов. Выражение объекта может ссылаться на время симуляции с помощью time переменной. Следуйте рекомендуемым рекомендациям для оценки выражения. Для образца, если имя количества не является допустимым MATLAB® имя переменной, заключайте имя в скобки []
при обращении к нему в выражении.
SimBiology оценивает выражение объекта с помощью всего временного курса любых ссылочных состояний или наблюдаемых. Результатом наблюдаемого выражения должен быть числовой скаляр или вектор. Если это вектор, он должен быть такой же длины, как и вектор времени симуляции. Результат сохранен в возвращенном SimData
объект. В частности, если наблюдаемое выражение является скалярным, результат сохранен в SimData.ScalarObservables
свойство. В противном случае он хранится в SimData.VectorObservables
.
Примечание
Проверьте правильность векторизации выражений. Для примера используйте A./(A+B)
вместо A/(A+B)
если A и B являются матрицами.
Избегайте выражений жесткого кода, которые ожидают каких-либо конкретных чисел точек или времени. Например, вместо использования time(1:1000)
, использовать time(1:min(1000,numel(time)))
.
Создайте наблюдаемый объект с помощью addobservable
.
copyobj | Скопируйте объект SimBiology и его дети |
findUsages | Узнайте, как наблюдаемый объект используется в модели SimBiology |
get | Получите свойства объекта SimBiology |
set | Установите свойства объекта SimBiology |
delete | Удаление объекта SimBiology |
display | Отображение сводных данных по объекту SimBiology |
rename | Переименуйте объект и обновите выражения |
addobservable(model)
| addobservable(SimData)
| renameobservable(SimData)
| updateobservable(SimData)