假设我可能想根据某些条件导入一个组件,比如说一个布尔变量。我已经尝试过了,但它给了我一条错误消息。例如,考虑以下代码:
model myNewModel
parameter Boolean use_Something;
myLibrary.myComponent component[if use_Something then 1 else 0];
// In other words (pseudo):
// if use_Something then 'Import The Component' else 'Do Nothing At All';
end myNewModel;
直观地说,这是一个安全的声明,只要布尔变量为真,它就会按预期工作。对于某些单元,例如 Modelica 标准库的流体端口,它也适用于 [0] 大小。但是,一旦我将变量设置为 false,就会遇到许多组件与“零大小”不兼容的错误。例如,我在 Modelica 标准库中的 MassFlowSources 中遇到过这个问题。有没有一种流畅/优雅的方式来解决这个问题?提前致谢!