主要内容

UnitConversion

执行单位转换

描述

UnitConversion属性指定是否执行单位转换为模型模拟。这是一个性质的CompileOptions对象。CompileOptions保存模型的编译时选择的对象属性configset对象。

UnitConversion被设置为真正的,SimBiology®软件将匹配的物理量转换为一个一致的单元系统来解决这些问题。这种转换是在准备正确的模拟,但物种数量返回指定的单位。

例如,考虑一个反应a + b - > c。使用质量作用动力学反应速率的定义是a * b * k在哪里k反应的速率常数。如果你指定初始数量的一个b分别为0.01米和0.005米,那么单位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是,遵循下面的建议。

  • Non-dimensionalize传递给函数的参数,如果他们不是已经无量纲。

    假设您有一个自定义函数定义为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)配置设置,默认(主动)SolverType: ode15s StopTime: 10.000000 SolverOptions: AbsoluteTolerance: 1.000000 e - 006 RelativeTolerance: 1.000000 e - 003 RuntimeOptions: StatesToLog:所有CompileOptions: UnitConversion:假DimensionalAnalysis:真的
  3. 检索CompileOptions对象。

    optionsObj =得到(configsetObj CompileOptions)编译设置:UnitConversion:假DimensionalAnalysis:真的
  4. 赋值的错误UnitConversion

    集(optionsObj, UnitConversion,真的)