主要内容

SimData

仿真数据

描述

SimData对象包含模拟数据,其中包括时间和状态数据,以及元数据,例如记录状态的类型和名称或模拟期间使用的配置集。

您可以通过对象属性访问存储在对象中的时间数据、状态数据和元数据。使用点表示法查询对象属性或更改非只读属性。你也可以使用得到而且命令。

的数组存储来自多个模拟运行的数据SimData对象。你可以使用任何SimData的数组上的函数SimData对象。

创建

创建一个SimData以下列方式之一获取对象。

属性

全部展开

此属性是只读的。

模拟数据,指定为——- - - - - -n矩阵。模拟中的时间步长和n模拟过程中记录的数量和灵敏度的数目。方法查看相应的时间步骤时间属性,并通过访问DataInfo财产。

数据类型:

此属性是只读的。

种类、隔区、参数和灵敏度的数量,作为一个结构指定。该结构包含字段物种参数,灵敏度.每个字段的默认值为0

数据类型:结构体

此属性是只读的。

模拟数据的元数据标签,指定为n-by-1单元数组的结构。n是模拟期间记录的数量和灵敏度的数目。的的元数据矩阵的第Th列数据财产。

可能的结构类型如下。

类型 字段
物种

  • 类型,“物种”

  • 名称-物种名称

  • 隔间-物种所在的隔间

  • 单位-物种单位

参数

  • 类型,“参数”

  • 名称-参数名称

  • 反应-参数作用域的反应的名称,或如果参数的作用域是模型

  • 单位—参数单位

  • 类型,“室”

  • 业主-隔间老板

  • 名称-隔间名称

  • 单元-隔间单元

灵敏度

  • 类型,“敏感”

  • 名称—灵敏度名称,例如:[tumor_weight] ' d / d (k2)”

  • OutputType -灵敏度输出类型(“物种”“参数”).

  • OutputName -灵敏度输出名称

  • OutputQualifier -灵敏度输出限定符。如果输出是一个物种,它的输出限定符是物种所在的隔间的名称。如果输出是模型作用域参数,则其输出限定符为.如果输出是反应作用域的参数,则其输出限定符是参数作用域的反应的名称。

  • InputType—灵敏度输入类型(“物种”“参数”,或“室”

  • InputName -灵敏度输入名称

  • InputQualifier -灵敏度输入限定符。如果输入是一个物种,它的输入限定符是物种所在的隔间的名称。如果输入是模型作用域参数,则其输入限定符为.如果输入是反应作用域的参数,则其输入限定符是参数作用域的反应的名称。如果输入是一个分隔符,则其输入限定符为任意一个或父隔间的名称。

  • 单位-灵敏度单位

可观测的

  • Scalar -标志,指示可观察对象是标量值还是矢量值。

  • 表达式——可观察表达式

  • 类型,“可见”

  • 名称-可观察对象名称

  • 单位——可观察单位

数据类型:细胞

此属性是只读的。

模拟数据的标签,指定为n-by-1单元格字符向量数组。n是记录的数量和灵敏度的数量。换句话说,DataNames属性中标记数据矩阵列的名称数据财产。

数据类型:细胞

此属性是只读的。

标量值可观察表达式的结果,指定为表。每个表变量对应于每个观察对象。变量的名称与标量值可观察对象的名称相同。然而,如果可观察对象的名称太长,它将被截断并用作表变量名。一个后缀“_N””,其中N为正整数。的VariableDescriptions属性包含未截断的名称。

如果您为可观察对象指定了任何单位,则该单位将被复制到VariableUnits属性。

数据类型:表格

此属性是只读的。

向量值可观察表达式的结果,指定为表。每个表变量对应于每个观察对象。变量的名称与向量值可观察对象的名称相同。然而,如果可观察对象的名称太长,它将被截断并用作表变量名。一个后缀“_N””,其中N为正整数。的VariableDescriptions属性包含未截断的名称。

如果您为可观察对象指定了任何单位,则该单位将被复制到VariableUnits属性。

数据类型:表格

此属性是只读的。

模拟模型的名称,指定为字符向量。

数据类型:字符

SimData对象名称,指定为字符向量或字符串。

数据类型:字符|字符串

属性的附加信息SimData对象,指定为字符向量或字符串。

数据类型:字符|字符串

此属性是只读的。

关于生成模拟数据的模拟运行的信息,指定为结构。该结构包含以下字段。

  • Configset——一个结构体在模拟过程中使用的配置集的形式。配置集对应于模型活动的configset。默认为[]

  • SimulationDate-模拟的日期和时间。默认为

  • SimulationType——要么“单一运行”整体运行的,这取决于您是否使用sbiosimulatesbioensemblerun.默认为

  • 变体——一个结构体在模拟过程中使用的变体的形式。默认为[]

数据类型:结构体

此属性是只读的。

模拟时间步长,指定为列向量。

数据类型:

此属性是只读的。

模拟时间单位,指定为字符向量。

如果模拟使用sbiomodel,默认TimeUnits对应的值SimData对象是“第二”

如果你用模拟模型创建PKModelDesign,默认TimeUnits值是“小时”

数据类型:字符

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

对象的功能

addobservable 向SimData中添加可观察表达式
显示 显示SimBiology对象的摘要
getdata 获取仿真数据SimData对象
getsensmatrix 得到三维灵敏度矩阵SimData对象
删除 删除模拟数据SimData使用表达式的对象
removebyname 中按名称删除模拟数据SimData对象
renameobservable 在SimData中重命名可观察对象
重新取样 将模拟数据重新采样到新的时间向量上
选择 SimData使用表达式的对象
selectbyname 根据名称选择仿真数据SimData对象
updateobservable 更新SimData中的可观察表达式或单元

例子

全部折叠

加载G蛋白模型。

sbioloadprojectgprotein.sbproj

检查物种的初始数量。

m1。物种
ans = SimBiology物种阵列索引:隔间:名称:值:单位:1未命名的G 7000 2未命名的Gd 3000 3未命名的Ga 0 4未命名的RL 0 5未命名的L 6.022e+17 6未命名的R 10000 7未命名的Gbg 3000

只选择物种作为要记录模拟的状态。

Cs = getconfigset(m1);所有物种= sbioselect(m1,“类型”“物种”);cs.RuntimeOptions.StatesToLog = allspecies;

模拟模型。

Sd = sbiosimulation (m1);

属性的Data属性SimData对象sd得到最终时间点的状态。Data属性是——- - - - - -n矩阵,时间步长是多少n记录的数量。

finalData = sd.Data(end,:);

使用DataInfo属性获取记录状态的名称。

info = sd.DataInfo;

循环遍历物种并设置它们的初始值。

numSpecies = length(info);vObj = addvariant(m1,“initCond”);i = 1:numSpecies addcontent(vObj,{“物种”,信息{}。的名字,“价值”finalData(我)});结束提交(vObj, m1);

验证物种初始数量。

m1。物种
ans = SimBiology物种阵列索引:隔间:名称:值:单位:1未命名的G 8562.5 2未命名的Gd 0.109565 3未命名的Ga 1437.39 4未命名的RL 1820.54 5未命名的L 6.022e+17 6未命名的R 11.1125 7未命名的Gbg 1437.5

加载靶介导药物处置(TMDD)模型

sbioloadprojecttmdd_with_TO.sbproj

设定目标入住率()作为回应。

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

获取给药信息。

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

扫描不同剂量使用SimBiology。场景对象。为此,首先参数化剂量的性质。方法更改相应的参数值场景对象。

amountParam = addparameter(m1,“AmountParam”“单位”, d.AmountUnits);d.Amount =“AmountParam”;d.Active = 1;doseSamples = SimBiology。场景(“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{”纳摩尔“}时间单位:天
警告(“上”“SimBiology: SimFunction: DOSES_NOT_EMPTY”);

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

doseTable = getttable (d);sd = f(doseSamples,cs.StopTime,doseTable)
SimBiology模拟数据阵列:31 × 1模型名称:TMDD记录数据:物种:0隔间:0参数:1灵敏度:0可观察性:0

绘制模拟结果图。还添加两条参考线,表示的安全性和有效性阈值.在这个例子中,假设any高于0.85的值是不安全的,任何值低于0.15的值无效。

H = sbioplot(sd);时间= sd(1).时间;h.NextPlot =“添加”;safetyThreshold = plot(h,[min(time), max(time)],[0.85, 0.85],“DisplayName的”“安全阈值”);effacythreshold = plot(h,[min(time), max(time)],[0.15, 0.15],“DisplayName的”“功效阈值”);

图中包含一个轴对象。具有标题States vs . Time的axes对象包含33个类型为line的对象。这些对象代表运行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 = addoobservable (sd,“stat1”'max(TO) < 0.85 & min(TO) > 0.15'“单位”无量纲的
SimBiology模拟数据阵列:31 × 1模型名称:TMDD记录数据:物种:0隔间:0参数:1灵敏度:0可观察性:1

addoobservable函数为每个对象计算新的可观察表达式SimDatasd并将计算结果作为new返回SimData数组,newSD,现在添加了可观察对象(stat1).

的两个不同属性中存储可观察到的结果SimData对象。如果结果是标量值,则将它们存储在SimData。ScalarObservables.否则,它们被存储在SimData。VectorObservables.在本例中,stat1可观察表达式是标量值。

提取标量可观测值,并绘制它们与剂量量的关系。

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

图中包含一个轴对象。axis对象包含一个line类型的对象。

该图显示了50到180纳摩尔的剂量在目标疗效和安全阈值范围内的反应。

你可以用不同的阈值来更新可观察表达式。该函数重新计算表达式并在newSimData对象数组。

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

重命名可观察表达式。该函数重命名可观察对象,更新任何引用重命名可观察对象的表达式(如果适用),并以newSimData对象数组。

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

恢复警告设置。

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

版本历史

在R2007b中引入

全部展开

另请参阅

||||