不同初始条件下葡萄糖-胰岛素反应的模拟模型
这个例子展示了如何模拟正常和糖尿病受试者的葡萄糖-胰岛素反应。
加载葡萄糖-胰岛素反应模型。关于型号的详细信息,请参见背景部分模拟葡萄糖-胰岛素反应.
sbioloadproject (“insulindemo”,“m1”)
模型包含不同的初始条件,存储在不同的变量中。
变量= getvariant(m1);
获取2型糖尿病患者的初始条件。
Type2 =变体(1)
type2 = SimBiology变体- 2型糖尿病(不活跃)内容索引:类型:名称:属性:值:1参数血浆容量…取值1.49 2参数k1取值0.042 3参数k2取值0.071 4参数血浆体积…参数值0.04 5参数m1参数值0.379 6参数m2参数值0.673 7参数m4参数值0.269 8参数m5参数值0.0526 9参数m6参数值0.8118 10参数取值0.6 11参数kmax取值0.0465 12参数kmin取值0.0076 13参数kbs取值0.023 14参数kgri取值0.0465 15参数f取值0.9 16参数a取值6e-05 17参数b取值0.68 18参数c取值0.00023 19参数d取值0.09 20参数kp1取值3.09 21参数kp2取值0.0007 22参数kp3取值0.005 23参数kp4取值0.0786 24参数ki取值0.0066 25参数[Ins Ind Glu U…1 26参数Vm0值4.65 27参数Vmx值0.034 28参数Km值466.21 29参数p2U值0.084 30参数K值0.99 31参数alpha值0.013 32参数beta值0.05 33参数gamma值0.5 34参数ke1值0.0007 35参数ke2值269 36参数基础等离子体G…值164.18 37参数基底血浆I…价值54.81
抑制在模拟过程中发出的信息警告。
warnSettings =警告(“关闭”,“SimBiology: DimAnalysisNotDone_MatlabFcn_Dimensionless”);
创建SimFunction对象来模拟正常和糖尿病受试者的葡萄糖-胰岛素反应。
指定一个空数组
{}
对于第二个输入参数,表示将使用基本参数值模拟模型(即,不执行参数扫描)。指定血浆葡萄糖和胰岛素浓度作为响应(要绘制的函数的输出)。
指定物种
剂量
作为被剂量的物种。这个物种代表模拟开始时葡萄糖的初始浓度。
normSim = createSimFunction(m1,{},...{【Plasma Glu Conc】,《等离子体》},“剂量”)
normSim = SimFunction参数:可见:名字类型的单位 _____________________ ___________ _______________________ {'[ 等离子体Glu浓缩的]}{“物种”}{毫克/分升的}{'[血浆Ins浓缩的]}{“物种”}{“皮摩尔/升”}给:TargetName TargetDimension __________ _____________________ {' 剂量的}{的质量(例如,克)}TimeUnits:小时
对于糖尿病患者,使用变体指定初始条件类型2
.
diabSim = createSimFunction(m1,{},...{【Plasma Glu Conc】,《等离子体》},“剂量”类型2)
diabSim = SimFunction参数:可见:名字类型的单位 _____________________ ___________ _______________________ {'[ 等离子体Glu浓缩的]}{“物种”}{毫克/分升的}{'[血浆Ins浓缩的]}{“物种”}{“皮摩尔/升”}给:TargetName TargetDimension __________ _____________________ {' 剂量的}{的质量(例如,克)}TimeUnits:小时
在模拟开始时,选择代表单餐78克葡萄糖的剂量。
singleMeal = sbioselect(m1,“名字”,“一餐”);
将剂量信息转换为表格格式。
mealTable = getttable (singleMeal);
模拟正常人24小时的葡萄糖-胰岛素反应。
sbioplot (normSim([], 24岁,mealTable));
模拟糖尿病患者24小时的葡萄糖-胰岛素反应。
sbioplot (diabSim([], 24岁,mealTable));
使用变体执行扫描
假设您希望使用包含不同胰岛素损伤的不同初始条件的变体数组执行参数扫描。例如,模型m1
具有对应于低胰岛素敏感性和高胰岛素敏感性的变体。您可以通过对SimFunction对象的一次调用来模拟这两种情况的模型。
选择要扫描的变体。
varToScan = sbioselect(m1,“名字”,...{“胰岛素敏感性低”,“胰岛素敏感性高”});
检查每个变量中存储了哪些模型参数。
varToScan (1)
ans = SimBiology Variant - Low insulin sensitivity (inactive)内容索引:类型:名称:属性:值:1参数Vmx值0.0235 2参数kp3值0.0045
varToScan (2)
ans = SimBiology Variant - High insulin sensitivity (inactive)内容索引:类型:名称:属性:值:1参数Vmx值0.094 2参数kp3值0.018
的两个变量都存储替代值Vmx
而且kp3
参数。在创建SimFunction对象时,需要将它们指定为输入参数。
创建一个SimFunction对象来扫描变量。
variantScan = createSimFunction(m1,{“Vmx”,“kp3”},...{【Plasma Glu Conc】,《等离子体》},“剂量”);
模拟模型并绘制结果。运行1
包括低胰岛素敏感性的模拟结果和运行2
对于高胰岛素敏感性。
sbioplot (variantScan(24岁的varToScan mealTable));
低胰岛素敏感性导致血糖浓度升高和延长。
恢复警告设置。
警告(warnSettings);