在我们的物理系统模型中,我们通过查找表中的一个因子来修改一个通量值。LUT 本身是从基于整数索引的 LUT 目录中选择的。我们目前正在将表格数据加载到 CombiTable2D 组件中。选择/定义正确 LUT 的正确方法是什么?如果我们将它们全部作为一个输入数据文件中的命名表,有没有办法根据它的 tableName(CombiTable 参数)选择一个 LUT?我一直在使用方程式或算法格式的 For 循环,但还没有找到一种有效的语法。
提前感谢您的想法...
在我们的物理系统模型中,我们通过查找表中的一个因子来修改一个通量值。LUT 本身是从基于整数索引的 LUT 目录中选择的。我们目前正在将表格数据加载到 CombiTable2D 组件中。选择/定义正确 LUT 的正确方法是什么?如果我们将它们全部作为一个输入数据文件中的命名表,有没有办法根据它的 tableName(CombiTable 参数)选择一个 LUT?我一直在使用方程式或算法格式的 For 循环,但还没有找到一种有效的语法。
提前感谢您的想法...
我认为它仅适用于每个文件一个表,因此您可以拥有一组表,例如:
parameter Integer N = 3;
parameter String selectTable = "tab2";
Modelica.Blocks.Tables.CombiTable2D tableArray[N](
each tableOnFile = true,
fileName = {"file1", "file2", "file3"},
tableName={"tab1", "tab2", "tab3"});
// use the tableArray
for i in 1:N loop
// note that N and selectTable need to be known at compile
// time so that the if and the for loop can be expanded
if (tableArray[i].tableName == selectTable)
then
connect(tableArray[i].u1, u1);
connect(tableArray[i].u2, u2);
connect(tableArray[i].y, y);
endif;
end for;