6
하이브리드 모델링 (특히 상태 이벤트)의 일반적인 아이디어를 수치 적 관점에서 이해하고 싶습니다. (저는 수학자는 아니지만 :)).Modelica 이벤트 및 하이브리드 모델링
model BouncingBall
constant Real g=9.81
Real h(start=1);
Real v(start=0);
equation
der(h)=v;
der(v)=-g;
algorithm
when h < 0 then
reinit(v,-pre(v));
end when;
end BouncingBall;
내가 when
및 reinit
의 개념을 이해 : 다음 Modelica 모델을 감안할 때.
when
문에있는 수식은 조건이 참일 때만 활성화됩니까?- 공이 정확히
2sec
에 바닥에 닿았다고 가정합시다. 멀티 스텝 솔버를 사용하고 있기 때문에 솔버가 "2 초를 넘었 음"을 의미하므로h<0
(시뮬레이션에서 가정 할 수 있습니다.time = 2.5sec
,h = -0.7
). 간단한 설명 (예)? - 솔버는 이제 작은 스텝 크기를 촬영? 돌아가는인가?를
pre()
무엇 - 거기이 평균 "교차 기능을 사용하여 검색되는 이벤트에 대한 시간? 무엇을 그 문맥에서 조작의 의미는 무엇입니까?
noEvent()
: "표현식은 교차 함수를 생성하는 대신 문자 그대로 취합니다. 교차 함수가 없기 때문에식이 이벤트 한계를 넘어서 평가 될 수있는 요구 사항이 없습니다. "라는 의미는 무엇입니까? 튀어 오르는 공과 같은 예제를 사용하면 : solver는 2.5에서 h = 0.7임을 감지합니다. 와noEvent()
없는 차이
Modelica Book : http : //book.xogeny에서 읽어 보시기 바랍니다.2) 교차 함수는 h가 0을 교차 할 때, 작은 스텝 크기를 만들 때 느낌을 얻기 위해 솔버가 신호의 미분을 사용하지만, 솔버 3) 둘 다 솔버에 따라 다릅니다. 4) pre는 이전 단계 5의 이산 변수의 값입니다. 신호가 0이 될 때 기본적으로 이벤트가 생성되지 않으므로 솔버가 중지되지 않으므로 (이벤트 없음) 기본적으로 표현식이 평가됩니다 계단 경계에서만 –