DimensionalAnalysis
对模型进行量纲分析
描述
的DimensionalAnalysis
属性指定在模拟之前是否对模型进行量纲分析。属性的属性CompileOptions
对象。CompileOptions
对象的对象属性configset
对象。当DimensionalAnalysis
被设置为真正的
, SimBiology®软件检查反应所涉及的单位的物理量和规则是否匹配,是否适用。
例如,考虑一个反应A + b - > c
。利用质量作用动力学,将反应速率定义为a * b * k
,在那里k
为反应的速率常数。如果你指定初始量一个
和b
分别为0.01M和0.005M,那么单位为k
是1 / (M *秒)
。如果您指定k
例如,用另一个等价的单元定义,1 /((摩尔/升)*秒)
,DimensionalAnalysis
检查物理量是否匹配。如果物理量不匹配,就会看到一个错误,模型没有被模拟。
单位转换需要量纲分析。如果DimensionalAnalysis
关了,你又转了UnitConversion
上之后,DimensionalAnalysis
自动开启。如果UnitConversion
是打开的,而你是关闭的DimensionalAnalysis
,然后UnitConversion
自动关闭。
如果你有MATLAB®函数调用在您的模型中,量纲分析忽略任何包含函数调用的表达式并生成一个警告。
反应速率的有效物理量为量/时间、质量/时间或浓度/时间。
特征
适用于 | 对象:CompileOptions (在configset 对象) |
数据类型 | 布尔 |
数据值 |
|
访问 | 读/写 |
请注意
SimBiology允许对任何无量纲的量求幂到任何无量纲的幂。例如,如果两者都有,你可以写下面的表达式x
和一个
是无量纲的:(x + 3)^(a + 0.5)
请注意
SimBiology使用的单位包括与之关联的空单位DimensionalAnalysis
和UnitConversion
特性。
当
DimensionalAnalysis
和UnitConversion
都是假
,单位不使用。然而,SimBiology仍然执行最低水平的量纲分析,以确定反应速率的维度是量/时间还是浓度/时间。当
DimensionalAnalysis
是真正的
和UnitConversion
是假
,单元(如果不为空)必须具有一致的尺寸,以便SimBiology可以进行尺寸分析。但是,单位不会被转换。当
UnitConversion
被设置为真正的
(需要DimensionalAnalysis
是真正的
), SimBiology执行量纲分析,并将所有内容转换为一致的单位。因此,你必须指定一致的单位,任何单位都不能为空。如果你有一个无量纲的参数,你仍然必须将它的单位设置为无量纲的
。
提示
如果你有一个自定义功能和UnitConversion
开启,请遵循下面的推荐。
非量纲化传递给函数的参数,如果它们不是无量纲的。
假设您有一个自定义函数定义为
y = f (t)
在哪里t
时间是以小时和为单位吗y
是某一种物质的浓度,单位为摩尔/升。例如,当你在模型中使用这个函数来定义一个重复分配规则时,将其定义为:s1 = f(时间/ t0) * s0
,在那里时间
为模拟时间,t0
的参数定义为1.0小时,s0
参数定义为1.0 mol /l,和s1
是某一种物质的浓度,单位为摩尔/升。请注意,时间
和s1
不一定要在同一个单位t0
和s0
,但它们必须在维度上一致。例如,时间
和s1
单位可以分别设置为分钟和皮摩尔/升。
例子
这个例子展示了如何检索和设置DimensionalAnalysis
从默认真正的
来假
在模型对象中设置的默认配置中。
导入模型。
modelObj = sbmlimport (“振荡器”)
SimBiology模型-振荡器模型组件:模型:0参数:0反应:42规则:0物种:23
检索
configset
的模型对象。configsetObj = getconfigset(modelObj) Configuration Settings - default (active) SolverType: ode15s StopTime: 10.000000 SolverOptions: AbsoluteTolerance: 1.000000e-006 RelativeTolerance: 1.000000e-003 RuntimeOptions: StatesToLog: all CompileOptions: UnitConversion: true DimensionalAnalysis: true
检索
CompileOptions
对象。optionsObj =得到(configsetObj,“CompileOptions”编译设置:UnitConversion: true维度分析:true
赋值为
假
来DimensionalAnalysis
。集(optionsObj,“DimensionalAnalysis”假)