我想建立一个连续时间系统,该系统在预先知道的某个时刻改变其行为。一个小例子如下。
setNeedsLayout
答案 0 :(得分:4)
你的解决方案几乎没问题。以下是您的代码,有一些修改。
if then else
也可以if then elseif then elseif then ... else
xb
以获得常见的导数方程式(不仅仅是编码风格)。代码:
model time_event
Real x(start = 0) "state variable for this example";
parameter Real T_ch = 5 "time at which the system dynamics undergoes a change";
Real xb "Balance variable for derivative";
equation
der(x) = xb;
if time <= T_ch then
xb = x + 1;
else
xb = -x;
end if;
end time_event;
结果图:
红色= x
蓝色= der(x)