2014-05-20 1 views
0

누군가가 Windows의 OMEdit v1.9.1 beta2에서 컴파일되고 시뮬레이트 된 다음 openmodelica 모델에서 초기 조건이 올바르게 처리되는 이유를 설명해주십시오. 단, 5 번째 줄이 주석이고 6 번째 줄이 주석 처리되지 않은 경우 (x, y)은 (0.5,0)로 초기화됩니까? 감사합니다.OpenModelica의 초기 조건

class Pendulum "Planar Pendulum" 
constant Real PI = 3.141592653589793; 
parameter Real m = 1,g = 9.81,L = 0.5; 
Real F "Force of the Rod"; 
output  Real x(start=L*sin(PI/4)) ,y(start=-0.35355); 
//output Real x(start = L * sin(PI/4)), y(start=-L*sin(PI/4)); 
output Real vx,vy; 
equation 
m * der(vx) = -x/L * F; 
m * der(vy) = (-y/L * F) - m * g; 
der(x) = vx; 
der(y) = vy; 
x^2 + y^2 = L^2; 
end Pendulum; 

답변

1

짧은 대답은 초기 값을 힌트로 단순하게 처리하는 것입니다, 당신은 같이 그들을 강제로 고정 = 진정한 속성을 추가 할 수 있습니다

output Real x(start=L*cos(PI/4),fixed=true); 

초기화 변수가 제한되는 경우, 고정 속성은 모든 초기화 된 변수에 사용되어서는 안되며 '적절한'부분 집합,이 경우에는 하나에 사용되어야합니다.

길게 대답을 찾을 수 있습니다 here