执行单位转换
这个单位换算
属性指定是否在模拟之前对模型执行单位转换。这是公司的财产编译选项
对象编译选项
保存模型的编译时选项,并且是配置集
对象
什么时候单位换算
设置为是的
,SimBiology®软件将匹配的物理量转换为一个一致的单位系统,以解决它们。此转换是为正确的模拟做准备,但物种数量以用户指定的单位返回。
例如,考虑一个反应a+b->c
. 利用质量作用动力学,反应速率定义为a*b*k公司
哪里K
是反应的速率常数。如果您指定A.
和B
分别为0.01M和0.005MK
是1/(米*秒)
. 如果您指定K
例如,用另一个等价的单位定义,1/((分子/升)*秒)
,单位换算
发生在维度分析
.
单位转换需要量纲分析。如果维度分析
关了,你就转身单位换算
那就开始吧维度分析
自动打开。如果单位换算
是开的,你关了维度分析
,那么单位换算
自动关闭。
如果单位换算
失败,则在模拟时会看到错误(S模拟
).
如果单位换算
设置为假
,模拟使用给定的对象值。
涉及温度支持的单位转换金宝app摄氏度
作为温度单位。避免使用混合温度单位,因为可能会出错。
适用于 | 对象:编译选项 (英寸配置集 对象) |
数据类型 | 布尔值 |
数据值 |
|
通道 | 读/写 |
SimBiology使用单位,包括与维度分析
和单位换算
特征。
什么时候维度分析
和单位换算
两者都是假
,不使用单位。然而,SimBiology仍然执行最低水平的量纲分析,以确定反应速率是以量/时间还是以浓度/时间为量纲。
什么时候维度分析
是是的
和单位换算
是假
,单位(如果不为空)必须具有一致的维度,以便SimBiology可以执行维度分析。但是,单位不转换。
什么时候单位换算
设置为是的
(这需要维度分析
成为是的
),SimBiology执行维度分析,并将所有内容转换为一致的单位。因此,必须指定一致的单位,并且任何单位都不能为空。如果有无量纲参数,则必须将其单位设置为无量纲
.
如果你有一个自定义函数单位换算
已启用,请遵循下面的建议。
如果传递给函数的参数尚未无量纲化,则对其进行无量纲化。
假设有一个自定义函数定义为y=f(t)
哪里T
时间是以小时为单位的吗Y
是一种物质的浓度,单位为摩尔/升。例如,在模型中使用此函数定义重复分配规则时,请将其定义为:s1=f(时间/t0)*s0
哪里时间
是模拟时间,t0级
是一个定义为1.0小时的参数,第0页
是一个定义为1.0摩尔/升的参数,并且s1级
是一种物质的浓度,单位为摩尔/升。请注意时间
和s1级
不必与同一单位t0级
和第0页
,但它们必须在维度上保持一致。例如时间
和s1级
单位可以分别设置为分钟和皮摩尔/升。
此示例演示如何检索和设置单位换算
从默认值是的
到假
在模型对象中设置的默认配置中。
导入模型。
modelObj=sbmlimport('振荡器')
SimBiology模型-振荡器模型组件:模型:0参数:0反应:42规则:0物种:23
检索配置集
模型对象的对象。
configsetObj=getconfigset(modelObj)配置设置-默认(活动)SolverType:ode15s StopTime:10.000000solveroptions:AbsoluteTolerance:1.000000e-006 RelativeTolerance:1.000000e-003 RuntimeOptions:StatesToLog:all CompileOptions:UnitConversion:false DimensionalAnalysis:true
检索编译选项
对象
optionsObj=get(configsetObj,'CompileOptions')编译设置:UnitConversion:false维度分析:true
将值false赋给单位换算
.
设置(optionsObj,'UnitConversion',true)