我在 protected 部分下有一个参数,需要进一步计算:
parameter Integer Ns = integer(ceil(L / dx))
它不应该被修改,这就是我把它放在那里的原因。 但是,我想在构建通用模型时访问此参数。特别是要在其他组件中访问它,我可以执行以下操作:
Ns = componentName.Ns
但由于它位于 protected 部分,所以这是不可能的。我通过简单地在常规部分添加另一个参数来解决这个问题:
parameter Integer N=Ns
但是,这个参数出现在 GUI 中并且可以修改,我想尽一切办法避免这种情况。
有什么解决办法吗?我希望我的意思很清楚。
最佳答案
将我的评论转换为答案:
如果您希望参数在模型类外部可见且可访问,但不再可更改,那么您应该将其标记为 Final,如下所示:
final parameter Integer Ns = integer(ceil(L / dx))
正如您在示例中看到的,参数可以被计算并随后成为最终参数。
关于modelica - 访问其他模型中的参数 - OpenModelica,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58709281/