이산 신호에 대한 Modelica 의미를 이해하려고합니다. t = 0.5에서 무한 경사로 순간적으로 0.0에서 1.0으로 천이하는 단계 신호가 주어집니다. 다음 코드에서와 같이 when 문도 있다고 가정 해 보겠습니다.Modelica 이산 의미
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은이 방정식을 만족시킬 것이라는 혼란이 있습니다. 그래서 비 결정적인 행동을 막기위한 규칙이 있는지 궁금합니다. 누군가 나를 도울 수 있거나 어떤 문학을 가르쳐 줄 수 있다면 크게 환영 할 것입니다! 시간 내 줘서 고마워.
답장을 보내 주셔서 감사합니다. 그것은 저의 생각이었고 비 결정적입니다. when 문에 관해서, 그렇습니다, 나는 동의하고 if 문 사이의 차이를 이해합니다. 나는 Modelica를 처음 접했고 자연스럽게 그것을 깨닫지 않고 전통적인 if 문과 관련하여 생각했다. 그것을 지적 주셔서 감사합니다. – jackfrost9p