1

離散信号の Modelica セマンティクスを理解しようとしています。t = 0.5 で無限勾配で 0.0 から 1.0 に瞬時に遷移するステップ信号が与えられます。次に、次のコードのような when ステートメントもあるとします。

model test_discrete
  Modelica.Blocks.Interfaces.RealOutput q(start = -1.0);
  Modelica.Blocks.Sources.Step step(
    height=1,
    offset=0,
    startTime=0.5)

algorithm 
  when time >= 0.5 and time <= 0.5 then
    q := step.y;
  end when;
equation 
end test_discrete;

私の質問は、q が 0.0 か 1.0 かということです。q が -1 に初期化されていると仮定しましょう。コードを実装すると、1.0 に移行しますが、0.0 も方程式を満たすのではないかと混乱しています。したがって、非決定的な動作を防ぐためのルールがあるかどうか疑問に思っています。誰かが私を助けたり、文献を教えてくれたりしたら、それは大歓迎です! 御時間ありがとうございます。

4

2 に答える 2