在仿真之前显示来自计算的图标级别的参数

Display a parameter on icon level from calculation prior to simulation

我想要一个参数,假设 n = 1 未显示在 UI 中,但另一个参数 n_add = n + 1 显示在模型的图标处。

parameter Integer n = 1 "not to be displayed";
parameter Integer n_add = n + 1 "Displayed on the model";

在图标级别,我写为文本“%n_add”结果不是 n + 1 =“2”的计算,而是要完成的计算(字面意思是 "n+1" ).在模型参数化期间,参数 n_add 应该在 simulation/initialization 之前可见。

这可能吗?

似乎与此非常相似: 但这个问题实际上阅读起来更紧凑,因此应该可以解决您的问题的代码:

model showN1
  parameter Integer n = 1 "not to be displayed";
  final parameter Integer n_add = n + 1 "Displayed on the model";
    annotation (Icon(graphics={Text(
      extent={{-100,-20},{100,20}},
      lineColor={0,0,0},
      textString="n_add = " + DynamicSelect("?", String(n_add)))}));
end showN1;

模拟之前已知的值(例如参数)是可能的。 DynamicSelect 还可以显示在模拟过程中必须首先计算的变化值。然后从结果文件中读取这些结果文件,该文件仅在模拟开始后可用。