主要内容

UnitConversion

执行单位转换

描述

UnitConversion属性指定是否在模拟之前对模型执行单元转换。它是一个属性CompileOptions对象。CompileOptions属性的对象属性,包含模型的编译时选项configset对象。

UnitConversion被设置为真正的, SimBiology®软件将匹配的物理量转换为一个一致的单位系统,以便解决它们。这种转换是为正确的模拟做准备的,但是物种数量以用户指定的单位返回。

例如,考虑一个反应A + b - >c.用质量作用动力学定义反应速率为a * b * k在哪里k是反应的速率常数。如果你指定初始数量一个b分别为0.01M和0.005M,则k1 / (M *秒).如果您指定k另一个等价的单位定义,例如,1 /((分子/升)*秒)UnitConversion后发生DimensionalAnalysis

单位转换需要量纲分析。如果DimensionalAnalysis是关闭的,然后你转身UnitConversion上之后,DimensionalAnalysis是自动开启的。如果UnitConversion是开着的,你是关着的DimensionalAnalysis,然后UnitConversion自动关闭。

如果UnitConversion失败,然后在模拟(sbiosimulate).

如果UnitConversion被设置为,仿真使用给定的对象值。

特征

适用于 对象:CompileOptions(在configset对象)
数据类型 布尔
数据值

真正的.默认值是

访问 读/写

请注意

SimBiology使用的单位包括空单位DimensionalAnalysisUnitConversion特性。

  • DimensionalAnalysisUnitConversion都是,单位未使用。然而,SimBiology仍然执行最低水平的维度分析,以确定反应速率是量/时间还是浓度/时间维度。

  • DimensionalAnalysis真正的UnitConversion,单位(如果不是空的)必须具有一致的维度,以便SimBiology能够执行维度分析。但是,这些单位不会被转换。

  • UnitConversion被设置为真正的(需要DimensionalAnalysis真正的), SimBiology执行维度分析并将所有内容转换为一致的单位。因此,您必须指定一致的单元,并且任何单元都不能为空。如果你有一个无量纲参数,你仍然必须将其单位设置为无量纲的

提示

如果你有一个自定义函数和UnitConversion,请遵循以下建议。

  • 如果传递给函数的参数不是无量纲的,则将其无量纲化。

    假设您有一个定义为y = f (t)在哪里t时间是以小时和小时为单位吗y是一种物质的浓度,单位是摩尔/升。例如,当你在模型中使用这个函数来定义一个重复赋值规则时,将它定义为:s1 = f(时间/ t0) * s0,在那里时间为模拟时间,t0是一个定义为1.0小时的参数,s0参数是否定义为1.0摩尔/升s1是一种物质的浓度,单位是摩尔/升。请注意,时间s1不一定要在同一个单位t0s0,但它们必须在维度上保持一致。例如,时间s1单位可分别设置为分钟和皮摩尔/升。

例子

这个例子展示了如何检索和设置unitconversion从默认真正的在模型对象的默认配置集中。

  1. 导入模型。

    modelObj = sbmlimport(振荡器)

    SimBiology模型-振荡器模型组件:模型:0参数:0反应:42规则:0物种:23
  2. 检索configset模型对象的。

    configsetObj = getconfigset(modelObj)配置设置- default (active) SolverType: ode15s StopTime: 10.000000 SolverOptions: absoltetolerance: 1.000000e-006 RelativeTolerance: 1.000000e-003 RuntimeOptions: StatesToLog: all CompileOptions: UnitConversion: false dimension analysis: true
  3. 检索CompileOptions对象。

    optionsObj = get(configsetObj,'CompileOptions')编译设置:UnitConversion: false dimension analysis: true
  4. 赋值为falseUnitConversion

    集(optionsObj, UnitConversion,真的)

另请参阅

得到getconfigsetsbiosimulate