UnitConversion.

执行单位转换

描述

UnitConversion.属性指定是否在模拟之前对模型执行单元转换。这是一个财产编译对象。编译保存模型的编译时间选项,是object属性configset对象。

什么时候UnitConversion.被设置为真正的,素质学®软件将匹配物理量转换为一个一致的单元系统,以便解决它们。此转换正在准备正确模拟,但物种量以用户指定的单位返回。

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

单元转换需要尺寸分析。如果多方面分析是关闭的,你转身UnitConversion.那么多方面分析自动打开。如果UnitConversion.打开,你关掉了多方面分析, 然后UnitConversion.自动关闭。

如果UnitConversion.失败了,那么你会在模拟时看到错误(sbiosmulate.)。

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

涉及温度支撑的单元转换万博1manbetx科尔斯群岛为温度单位。避免使用混合温度单位,因为你可能会得到一个错误。

特征

适用于 目的:编译(在configset对象)
数据类型 布尔
数据值

真正的错误的.默认值为错误的

使用权 读/写

笔记

Simbiology使用包括空单位的单位与多方面分析UnitConversion.特征。

  • 什么时候多方面分析UnitConversion.都是错误的,未使用单位。然而,Simbiology仍然执行最小尺寸分析,以确定反应速率是否处于量/时间或浓度/时间的尺寸。

  • 什么时候多方面分析真正的UnitConversion.错误的,单位(如果不是空)必须具有一致的维度,以便素质可以执行尺寸分析。但是,单位未转换。

  • 什么时候UnitConversion.被设置为真正的(这需要多方面分析成为真正的),SimBiology执行尺寸分析并将所有内容转换为一致的单位。因此,您必须指定一致的单位,并且没有单位可以为空。如果您有维度的参数,则必须将其单元设置为无尺寸

小费

如果您有自定义函数和UnitConversion.正在开启,遵循以下建议书。

  • 如果它们尚未维度,则不维度传递给函数的参数。

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

例子

此示例显示了如何检索和设置UnitConversion.从默认真正的错误的在模型对象中设置的默认配置中。

  1. 导入模型。

    modelobj = sbmlimport('振荡器')

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

    configsetobj = getconfigset(modelobj)配置设置 - 默认(活动)solvertype:ode15s solvertions:10.000000 levereptions:absoluteTolerance:1.000000E-006 RelativeTolerance:1.000000E-003 RuntimeOptions:Statestolog:所有编译:UnitConversion:FalseChensionsis:True
  3. 检索编译对象。

    Optionsobj = get(configsetobj,'compileOptions')编译设置:UnitConversion:False VileIonalsAlysis:true
  4. 分配一个值为falseUnitConversion.

    SET(Optionsobj,'UnitConversion',True)

也可以看看

得到getconfiget.sbiosmulate.