SimData
仿真数据
描述
的SimData
对象包含模拟数据,其中包括时间和状态数据,以及元数据,例如记录状态的类型和名称或模拟期间使用的配置集。
您可以通过对象属性访问存储在对象中的时间数据、状态数据和元数据。使用点表示法查询对象属性或更改非只读属性。你也可以使用得到
而且集
命令。
的数组存储来自多个模拟运行的数据SimData
对象。你可以使用任何SimData
的数组上的函数SimData
对象。
创建
创建一个SimData
以下列方式之一获取对象。
返回一个
SimData
对象在模拟模型后使用sbiosimulate
.返回一个
SimData
对象来模拟模型SimFunction对象
.返回一个数组
SimData
对象在多次随机集合运行后使用sbioensemblerun
.方法模拟模型后,将模拟结果导出到命令行SimBiology模型分析器应用程序。
属性
数据
- - - - - -仿真数据
米x0
空双矩阵(默认)|矩阵
此属性是只读的。
模拟数据,指定为米——- - - - - -n矩阵。米模拟中的时间步长和n模拟过程中记录的数量和灵敏度的数目。方法查看相应的时间步骤时间
属性,并通过访问DataInfo
财产。
数据类型:双
DataCount
- - - - - -种类、隔间、参数和灵敏度的数量
结构
此属性是只读的。
种类、隔区、参数和灵敏度的数量,作为一个结构指定。该结构包含字段物种
,室
,参数
,灵敏度
.每个字段的默认值为0
.
数据类型:结构体
DataInfo
- - - - - -模拟数据的元数据标签
0-by-1
空单元格数组(默认)|细胞阵列结构
此属性是只读的。
模拟数据的元数据标签,指定为n-by-1单元数组的结构。n是模拟期间记录的数量和灵敏度的数目。的我的元数据我矩阵的第Th列数据
财产。
可能的结构类型如下。
类型 | 字段 |
---|---|
物种 |
|
参数 |
|
室 |
|
灵敏度 |
|
可观测的 |
|
数据类型:细胞
DataNames
- - - - - -模拟数据标签
0-by-1
空单元格数组(默认)|n-by-1单元格字符向量数组
此属性是只读的。
模拟数据的标签,指定为n-by-1单元格字符向量数组。n是记录的数量和灵敏度的数量。换句话说,DataNames
属性中标记数据矩阵列的名称数据
财产。
数据类型:细胞
ScalarObservables
- - - - - -标量值可观察表达式的结果
表格
此属性是只读的。
标量值可观察表达式的结果,指定为表。每个表变量对应于每个观察对象。变量的名称与标量值可观察对象的名称相同。然而,如果可观察对象的名称太长,它将被截断并用作表变量名。一个后缀“_N””
,其中N为正整数。的VariableDescriptions
属性包含未截断的名称。
如果您为可观察对象指定了任何单位,则该单位将被复制到VariableUnits
属性。
数据类型:表格
VectorObservables
- - - - - -向量值可观察表达式的结果
表格
此属性是只读的。
向量值可观察表达式的结果,指定为表。每个表变量对应于每个观察对象。变量的名称与向量值可观察对象的名称相同。然而,如果可观察对象的名称太长,它将被截断并用作表变量名。一个后缀“_N””
,其中N为正整数。的VariableDescriptions
属性包含未截断的名称。
如果您为可观察对象指定了任何单位,则该单位将被复制到VariableUnits
属性。
数据类型:表格
ModelName
- - - - - -型号名称
”
(默认)|特征向量
此属性是只读的。
模拟模型的名称,指定为字符向量。
数据类型:字符
的名字
- - - - - -SimData
对象名称
0-by-0
空字符数组(默认)|特征向量|字符串
SimData
对象名称,指定为字符向量或字符串。
数据类型:字符
|字符串
笔记
- - - - - -额外的信息
0-by-0
空字符数组(默认)|特征向量|字符串
属性的附加信息SimData
对象,指定为字符向量或字符串。
数据类型:字符
|字符串
RunInfo
- - - - - -模拟运行信息
结构
此属性是只读的。
关于生成模拟数据的模拟运行的信息,指定为结构。该结构包含以下字段。
Configset
——一个结构体
在模拟过程中使用的配置集的形式。配置集对应于模型活动的configset。默认为[]
.SimulationDate
-模拟的日期和时间。默认为”
.SimulationType
——要么“单一运行”
或整体运行的
,这取决于您是否使用sbiosimulate
或sbioensemblerun
.默认为”
.变体
——一个结构体
在模拟过程中使用的变体的形式。默认为[]
.
数据类型:结构体
时间
- - - - - -模拟时间步长
列向量
此属性是只读的。
模拟时间步长,指定为列向量。
数据类型:双
TimeUnits
- - - - - -模拟时间单位
“第二”
(默认)|特征向量
此属性是只读的。
模拟时间单位,指定为字符向量。
如果模拟使用sbiomodel
,默认TimeUnits
对应的值SimData
对象是“第二”
.
如果你用模拟模型创建PKModelDesign
,默认TimeUnits
值是“小时”
.
数据类型:字符
用户数据
- - - - - -要与对象关联的数据
[]
(默认)|任何支持金宝app的数据类型
与对象关联的数据,指定为任何受支持的数据类型。金宝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
使用可观测数据计算模型模拟后的统计数据
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的”,“功效阈值”);
对仿真结果进行后处理。找出哪些剂量是有效的,对应于来
在安全性和有效性阈值范围内的反应。为此,向模拟数据中添加一个可观察表达式。
%抑制模拟过程中发出的信息警告。警告(“关闭”,“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函数为每个对象计算新的可观察表达式SimData
在sd
并将计算结果作为new返回SimData
数组,newSD
,现在添加了可观察对象(stat1
).
的两个不同属性中存储可观察到的结果SimData
对象。如果结果是标量值,则将它们存储在SimData。ScalarObservables
.否则,它们被存储在SimData。VectorObservables
.在本例中,stat1
可观察表达式是标量值。
提取标量可观测值,并绘制它们与剂量量的关系。
scalarObs = vertcat(newSD.ScalarObservables);doseamount = generate(doseSamples);图绘制(doseAmounts.AmountParam scalarObs.stat1,“o”,“MarkerFaceColor”,“b”)
该图显示了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中引入R2022a:删除
的函数SimData
已被移除
的删除
的功能SimData
对象已移除。
Abrir比如
Tiene una versión modificada de este ejemplo。¿Desea abrir este ejemplo con sus modificaciones?
MATLAB突击队
Ha hecho clic en unenlace que对应一个este commando de MATLAB:
弹射突击队introduciéndolo en la ventana de commandos de MATLAB。Los navegadores web no permission comandos de MATLAB。
您也可以从以下列表中选择一个网站:
如何获得最佳的网站性能
选择中国站点(中文或英文)以获得最佳站点性能。其他MathWorks国家站点没有针对您所在位置的访问进行优化。