我想知道我们可以在 Dymola(Modelica) 上使用的每个已知和可能的操作的矩阵维度是否有限制或最大值?
如果它存在,这个限制会因为其他操作而减少到什么程度?例如 Open Modelica 的值是否相同?
我想知道我们可以在 Dymola(Modelica) 上使用的每个已知和可能的操作的矩阵维度是否有限制或最大值?
如果它存在,这个限制会因为其他操作而减少到什么程度?例如 Open Modelica 的值是否相同?
Modelica 语言没有规定限制。对于 Dymola 作为模拟工具,我认为也没有“固定限制”,但会有“实际限制”。实际限制与可执行文件的大小和创建可执行文件以及运行和存储可执行文件结果的内存要求有关(尽管有控制结果文件大小的机制)。例如以下模型:
model MyModel
parameter Integer n = 1000;
Real x[n,n];
equation
x = if time < 0.5 then fill(time,n,n) else fill(time*2,n,n);
end MyModel;
它有 1000000 个变量和方程可以编译和模拟,但它比 n = 10(100 个变量)的等效模型花费的时间要长得多。