gpt4 book ai didi

evaluation - Modelica 评估顺序

转载 作者:行者123 更新时间:2023-12-02 21:32:24 25 4
gpt4 key购买 nike

我在 Modelica 规范中找不到任何答案,所以我想问问你们。该规范指出工具可以自由地求解方程、重新排序表达式,并且如果表达式的值不影响结果,则不计算表达式(例如 bool 表达式的短路计算)。 If 语句和 if 表达式保证仅在适当的条件为真时才计算其子句,但生成状态或时间事件的关系运算符将在持续集成期间具有来自最近事件的值。
如果数值运算溢出,则结果是不确定的。对于文字,建议自动将数字转换为更高精度的另一种类型。
现在,我想知道该工具是否可以选择在积分器步骤中多次计算表达式?例如(可能不是一个有效的例子,只是为了让你们了解我想知道的事情:))

Real x;

equation
der(x) = -t;
Modelica.Utilities.Streams.print(String(time));

这将多次打印相同的时间,所以我认为正在进行某种迭代。但我真的很想得到一些消息来源的证实。

最佳答案

这很正常。可变步长求解器(如dassl)可以返回及时来回寻找曲线的方向。此外,如果您有事件,可以产生更多值(value)同时。

如果您想在方程式时所需的精确时间点打印时间或值:

when sample(0, 1) then
Modelica.Utilities.Streams.print(String(time));
end when;

在 Modelica 规范中了解有关示例的更多信息。

也可以使用固定步长求解器,如欧拉等。

关于evaluation - Modelica 评估顺序,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22063836/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com