0 modelica
太简单了,但我无法修复它。非常感谢。
错误:
有4个冗余方程
代码:
model Test1
Real T[4];
Real S[3];
Real alpha;
Real beta;
equation
T[1] = 5;
for i in 1:3 loop
if T[i] > 2 then
alpha = 2;
beta = 1;
else
alpha = 1;
beta = 2;
end if;
S[i] = T[i] - 1;
T[i + 1] = T[i] - (alpha * 2) / (2 * S[i] + beta);
end for;
end Test1;
Run Code Online (Sandbox Code Playgroud)
alpha您对和都有多项“作业” beta。
在循环的每次迭代中,为和for建立一个新方程,导致 4 太多。alphabeta
解决方法将使用“算法”部分而不是“方程”,这将根据您的意愿局部平衡变量和方程。
model Test1
Real T[4];
Real S[3];
Real alpha;
Real beta;
algorithm
T[1] := 5;
for i in 1:3 loop
if T[i] > 2 then
alpha := 2;
beta := 1;
else
alpha := 1;
beta := 2;
end if;
S[i] := T[i] - 1;
T[i + 1] := T[i] - (alpha*2)/(2*S[i] + beta);
T[i + 1] := T[i];
end for;
end Test1;
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
88 次 |
| 最近记录: |