셈툴 다운로드

셈툴 튜토리얼

자동제어 | 시간 응답 곡선 구하기 |

페이지 정보

작성자 cemtool 작성일14-08-05 09:34 조회6,198회 댓글0건

본문

다음 그림과 같은 단진자에 대해 처음 10초 동안의 시간 응답 곡선을 구하시오.
ex3_27p-1.gif
 
, for  , for  · l=1m · m=0.2kg
(a) 교재의 식 (2.12)의 선형 근사식을 이용하시오. (b) 교재의 식 (2.11)의 비선형 식을 이용하시오. © 로 하여 위의 (a)와 (b)를 반복하시오.
ex3_27p.cem
/*
  example 3.27  Numerical Simulation of a Pendulum Using CEMTool
*/
 
"********************************************************"
"**                                                    **"
"**                   example 3.27                     **"
"**  Numerical Simulation of a Pendulum Using CEMTool  **"
"**                                                    **"
"********************************************************"
" "
sleep(2);
 
"****************************************************"
"**                     part (a).                  **"
"**  Tc = 1N, Using linearized equation of motion  **"
"****************************************************"
" "
sleep(2);
 
% part (a)"CEMTool>> num = 5;"
"CEMTool>> den = [1 0 9.82];"
"CEMTool>> t = 0:10:.05;"
"CEMTool>> u = [ones(21,1);zeros(180,1)];"
" "
sleep(2);
 
num = 5;
den = [1 0 9.82];
t = 0:10:.05;
u = [ones(21,1);zeros(180,1)];
 
"'lsim'을 이용한 linear solution simulation"
" "
sleep(1);
"CEMTool>> y = lsim(num,den,u,t);"
"CEMTool>> plot(t,y)"
" "
sleep(2);
 
y = lsim(num,den,u,t);
plot(t,y) 
"linear solution과 nonlinear solution을"
"비교하기 위해서 같은 그래프에 그림"
" "
sleep(2);
"CEMTool>> holdon;"
" "
 
holdon;
 
"**********************************"
"**           part (b).          **"
"**   Using nonlinear equation   **"
"**********************************"
" "
sleep(2);
 
% part (b)"global variable의 정의"
" "
sleep(2);
"CEMTool>> _Wn2 = 9.82;"
"CEMTool>> _Uo = 5;"
" "
sleep(2);
 
_Wn2 = 9.82;
_Uo = 5;
 
"simulation의 범위를 설정"
" "
sleep(2);
"CEMTool>> to = 0;"
"CEMTool>> tf = 10;"
" "
to = 0;
tf = 10;
 
sleep(1);
"초기값 설정"
" "
"CEMTool>> Xo = [0;0];"
Xo = [0;0];
" "
sleep(2);
"ode23함수를 이용한 nonlinear solution을 구함"
" "
"CEMTool>> [t,x] = ode23(\"pendot\",to,tf,Xo);"
"CEMTool>> plot(t,x(:;1))"
" "
 
[t,x] = ode23("pendot",to,tf,Xo);
plot(t,x(:;1));
 
sleep(2);
" "
"호출된 pendot.cem파일의 내용"
" "
"function;"
"xdot <> t,x"
 
"if (t <= 1){"
"  U = _Uo;"
"}"
"else { U = 0;}"
" "
"xdot(1) = x(2);"
"xdot(2) = -_Wn2*sin(x(1)) + U;"
"return"
" "
 
sleep(1);
"**************************************************"
"**                  part (c).                   **"
"**   Tc = 0.3N, linear and nonlinear solution   **"
"**************************************************"
" "
sleep(2);
"lsim을 이용한 linear solution"
" "
"CEMTool>> num = 5;"
"CEMTool>> den = [1 0 9.82];"
"CEMTool>> t = 0:10:0.5;"
"CEMTool>> u = [0.3*ones(21,1); zeros(180,1)];"
"CEMTool>> y = lsim(num,den,u,t);"
"CEMTool>> plot(t,y);"
" "
sleep(2);
 
num = 5;
den = [1 0 9.82];
t = 0:10:0.05;
u = [0.3*ones(21,1);zeros(180,1)];
y = lsim(num,den,u,t);
plot(t,y);
 
" "
"ode23을 이용한 nonlinear equation"
" "
sleep(2);
 
"CEMTool>> _Wn2 = 9.82;"
"CEMTool>> _Uo = 1.5;"
 
_Wn2 = 9.82;
_Uo = 1.5;
 
"CEMTool>> to = 0;"
"CEMTool>> tf = 10;"
" "
to = 0;
tf = 10;
 
"CEMTool>> Xo = [0;0];"
"CEMTool>> [t,x] = ode23(\"pendot\",to,tf,Xo);"
"CEMTool>> plot(t,x(:;1));"
 
Xo = [0;0];
[t,x] = ode23("pendot",to,tf,Xo);
plot(t,x(:;1));
" "
"그래프 설명"
"- 빨간색 : part (a). Tc = 1N일 때의 linear solution "
"- 파란색 : part (b). Tc = 1N일 때의 nonlinear solution "
"- 분홍색 : part (c). Tc = 0.3N일 때의 linear solution"
"- 하늘색 : part (c). Tc = 0.3N일 때의 nonlinear solution"


댓글목록

등록된 댓글이 없습니다.