主要内容

可观测的

对象包含表达式post-simulation计算

自从R2020a

描述

一个可观察的对象是一个允许您执行post-simulation计算的数学表达式。例如,您可以定义一个可观测的表达式计算分数是绑定到受体的配体在每个时间步,或计算一些数据,如曲线下的面积(AUC)药物浓度剖面。您还可以使用一个可观测的对象作为一个反应模拟、数据拟合、和全局灵敏度分析。

SimBiology每个观察对象的名称®模型必须是唯一的,即没有可观察到的对象可以具有相同的名称作为另一个可观测的,物种,隔间,参数,反应,变体,或者剂量模型中。一个可观察到的对象可以引用任何记录(在模型数量StatesToLog)。它也可以参考其他活动可观测对象提供的表情不包含代数循环。对象表达式使用变量可以引用仿真时间时间。按照推荐的的指导方针为评估表达式。例如,如果一个量名称不是一个有效的MATLAB®变量名,附上名称在括号中[]指在一个表达式。

SimBiology评估对象表达式使用整个时间进程的任何引用州或可见。可观测的结果表达式必须是一个数字标量或矢量。如果它是一个矢量,它必须作为模拟时间长度相同的向量。结果存储在返回SimData对象。具体来说,如果纯量值可观测的表达式,结果存储在SimData.ScalarObservables财产。否则,它存储在SimData.VectorObservables

请注意

  • 确保正确vectorize表达式。例如,使用一个。/ (一个+B)而不是一个/ (一个+B)如果一个B矩阵。

  • 避免硬编码表达式,期望任何特定的点或次数。例如,而不是使用时间(1:1000),使用时间(1:min(1000年,元素个数(时间)))

创建

创建一个可观测的对象使用addobservable

属性

全部展开

可观测对象的数学表达式,指定为一个特征向量。

例子:“x ^ 2》。

数据类型:字符

单位的可观测的表达式的结果,指定为一个特征向量。

例子:“克”

数据类型:字符

标志指示是否评估可观测的表达模型模拟后,指定为真正的

例子:

数据类型:逻辑

对象名称、指定为一个特征向量。

例子:“AUC”

数据类型:字符

这个属性是只读的。

可观察到的对象的父对象,指定为一个模型对象。

的描述对象,指定为一个特征向量。

例子:“药物AUC”

数据类型:字符

对象标签,指定为一个特征向量。

例子:曲线下的面积的

数据类型:字符

这个属性是只读的。

对象类型,指定为“可见”

数据类型:字符

数据与对象,指定为任何受支持的MATLAB数据类型。金宝app

对象的功能

copyobj 复制SimBiology对象和它的孩子们
findUsages 找出可观测对象用于SimBiology模型
得到 得到SimBiology对象属性
SimBiology设置对象属性
删除 删除SimBiology对象
显示 显示的总结SimBiology对象
重命名 重命名对象和更新表达式

例子

全部折叠

加载Target-Mediated药物处置(TMDD)模型

sbioloadprojecttmdd_with_TO.sbproj

设置目标入住率()作为响应。

c = getconfigset (m1);cs.RuntimeOptions。StatesToLog =”到“;

获得定量的信息。

d = getdose (m1,“每天”);

扫描在不同剂量使用SimBiology.Scenarios对象。这样做,第一个参数化财产的剂量。然后使用的不同相应的参数值场景对象。

amountParam = addparameter (m1,“AmountParam”,“单位”,d.AmountUnits);d。一个mount =“AmountParam”;d。一个ctive = 1; doseSamples = SimBiology.Scenarios(“AmountParam”linspace (0300、31));

创建一个SimFunction模拟模型。集模拟输出。

%抑制信息发布警告,在模拟。警告(“关闭”,“SimBiology: SimFunction: DOSES_NOT_EMPTY”);f = createSimFunction (m1, doseSamples”到“d)
f = SimFunction参数:名称值类型单位售予_____ _________________ _______ {‘AmountParam} 1{“参数”}{‘nanomole}可见:名称类型单位______ _________________ _________________{' '}{“参数”}{的无量纲}给:TargetName TargetDimension数量AmountValue AmountUnits售予___________________________________售予___________ _______{的等离子体。药物”}{的数量(例如,摩尔或分子)}{‘AmountParam} 1 {‘nanomole} TimeUnits:一天
警告(“上”,“SimBiology: SimFunction: DOSES_NOT_EMPTY”);

使用剂量模拟模型生成的场景对象。在这种情况下,对象生成31不同剂量;因此,模型模拟的31次,生成一个SimData数组中。

doseTable =可以获得的(d);sd = f (doseSamples cs.StopTime doseTable)
SimBiology仿真数据数组:31-by-1 ModelName: TMDD记录数据:物种:0隔间:0参数:1敏感性:0可见:0

仿真结果。同时添加两个参考线,代表的安全性和有效性的阈值。在这个例子中,假设任何值高于0.85是不安全的,任何值低于0.15没有功效。

h = sbioplot (sd);时间= sd (1) .Time;h。NextPlot =“添加”;safetyThreshold =情节(h, [min(时间),max ()], [0.85, 0.85],“DisplayName的”,“安全阈值”);efficacyThreshold =情节(h, [min(时间),max ()], [0.15, 0.15],“DisplayName的”,“功效阈值”);

图包含一个坐标轴对象。坐标轴对象与标题和时间,包含时间,ylabel州包含33线类型的对象。这些对象代表运行1 - 2 -运行,运行3 -,4 -运行,运行5 - 6至运行,运行7 - 8 -运行,运行9 - 10 -运行,运行11 - 12 -运行,运行13到14 -运行,运行15 - 16 -运行,运行17 - 18 -运行,运行19 - 20到运行,运行21 - 22 -运行,23——运行,运行24 - 25到运行,运行26 - 27 -运行,运行28 - 29 -运行,运行30 - 31 -运行,安全阈值,阈值效果。

后处理仿真结果。找出哪些剂量量是有效的,对应反应在安全性和有效性阈值。为此,添加一个可观测的表达式来仿真数据。

%抑制信息发布警告,在模拟。警告(“关闭”,“SimBiology: sbservices: SB_DIMANALYSISNOTDONE_MATLABFCN_UCON”);newSD = addobservable (sd,“stat1”,max () < 0.85 & min() > 0.15的,“单位”,无量纲的)
SimBiology仿真数据数组:31-by-1 ModelName: TMDD记录数据:物种:0隔间:0参数:1敏感性:0可见:1

addobservable函数评估新的可观测的表达式SimDatasd并返回评估结果作为一个新的SimData数组,newSD已添加的可观察到的(stat1)。

SimBiology可观测的结果存储在两个不同的属性SimData对象。如果结果是纯量值,它们存储在SimData.ScalarObservables。否则,它们存储在SimData.VectorObservables。在这个例子中,stat1可观察到的表情是纯量值。

提取标量观测值,并把它们与剂量。

scalarObs = vertcat (newSD.ScalarObservables);doseAmounts =生成(doseSamples);图绘制(doseAmounts.AmountParam scalarObs.stat1,“o”,“MarkerFaceColor”,“b”)

图包含一个坐标轴对象。轴包含一行对象显示其值只使用标记。

情节显示剂量从50到180 nanomoles提供反应目标内的疗效和安全性阈值。

你可以用不同的阈值更新可观测的表达式。重新计算的函数表达式,并返回结果在一个新的SimData对象数组。

newSD2 = updateobservable (newSD,“stat1”,max () < 0.75 & min() > 0.30的);

重命名的表达式。函数重命名的,更新的任何表达式引用改名后的可观测(如适用),并返回结果在一个新的SimData对象数组。

newSD3 = renameobservable (newSD2,“stat1”,“EffectiveDose”);

恢复设置的警告。

警告(“上”,“SimBiology: sbservices: SB_DIMANALYSISNOTDONE_MATLABFCN_UCON”);

版本历史

介绍了R2020a