gpt4 book ai didi

modelica - 带有非参数测试的 if 方程中的所有分支必须具有相同数量的方程 - Modelica

转载 作者:行者123 更新时间:2023-12-03 21:09:33 26 4
gpt4 key购买 nike

我在 Modelica 上收到一条错误消息:

All branches in if equation with non-parameter tests must have the same number of equations


错误的来源是代码的以下部分:
equation
if der(Posit2.s)<=0 then
pressure=4e5+((500e5-4e5)/0.0111)*(0.0111-Posit2.s);
end if;
你知道如何处理这个错误吗?

最佳答案

你需要一个 else,所以显而易见的想法是说压力不会改变:

 equation
if der(Posit2.s)<=0 then
pressure=4e5+((500e5-4e5)/0.0111)*(0.0111-Posit2.s);
else
der(pressure)=0;
end if;
但是,由于索引问题,这可能无法编译。
一种可能性是手动减少索引并编写如下内容:
 initial equation
if der(Posit2.s)<=0 then
pressure=4e5+((500e5-4e5)/0.0111)*(0.0111-Posit2.s);
else
pressure=4e5;
end if;
equation
if der(Posit2.s)<=0 then
der(pressure)=((500e5-4e5)/0.0111)*(-der(Posit2.s));
else
der(pressure)=0;
end if;
注意这个方程有 der(pressure)=...*der(Posit2.s); - 由于手动索引减少。

关于modelica - 带有非参数测试的 if 方程中的所有分支必须具有相同数量的方程 - Modelica,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/64854403/

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