셈툴 다운로드

셈툴 튜토리얼

자동제어 | 변환행렬 구하기 |

페이지 정보

작성자 cemtool 작성일14-09-24 11:01 조회6,439회 댓글0건

본문

앞의 예제 7.3과 같은 tape 구동 시스템에서 표현식을 modal canonical form으로 유지하되, 크기를 증가시키기 위하여 pole들이 에 나타나도록 하는 state 변환행렬을 구하시오. 그리고 이때 새로운 state 행렬 set A,B,C,D를 구하시오.

ex7_10.cem
/*
  Exercise 7.10(b)*/
 
del *;
 
"**************************"
"**                      **"
"**   Exercise 7.10(b)   **"
"**                      **"
"**************************"
" "
sleep(2);
 
F = [0    2     0    0   0   -0.1 -0.35  0.1  0.1 0.75     0    0     0    2   0    0.4  0.4  -0.4 -1.4  0     0  -0.03   0    0  -1];
G = [0 0 0 0 1]';
H2 = [0.0 0.0 1.0 0.0 0.0];
H3 = [0.5 0 0.5 0 0];
HT = [-0.2 -0.2 0.2 0.2 0];
J = 0;
/*
[Am, Bm, Cm, Dm, TI] = canon(F,G,H3,J,"modal");
 
T = inv(TI)*/
 
// 위에서 error가 나서 임시로......T = [-0.1748 0.1420 0.7071 -0.4871 0.58870.0083 -0.1035 -0.0000 0.1236 -0.28500.8284 0.2960 0.7071 -0.8379 0.6360-0.3626 0.1820 0.0000 0.2126 -0.30790.0034 0.0022 -0.0000 -0.0075 0.2697];
 
"Calculation of eigen values"
" "
"CEMTool>> P = eig(F)"
" "
sleep(2);
 
P = eig(F)" "
sleep(2);
"문제의 조건을 만족시키기 위해서 eig val을 sort후 그 순서로 T를 재배치"
" "
sleep(2);
"CEMTool>> [f,indices] = sort(abs(P));"
"CEMTool>> T2 = T(:,indices);"
" "
sleep(2);
 
[f,indices] = sort(abs(P));
T2 = T(:,indices);
 
"Transformation matrix T3의 계산"
" "
sleep(2);
"CEMTool>> n = T2\\\G;"
"CEMTool>> T3 = T2*diag(n)"
" "
sleep(2);
 
n = T2\G;
T3 = T2*diag(n)" "
sleep(2);
"Am, Bm 게산 --> 문제의 조건을 확인"
" "
"CEMTool>> Am2 = T3\F*T3"
" "
sleep(2);
 
Am2 = T3\F*T3
" "
"===> Am에 나타나는 pole이 음의 방향으로 증가하는 순서로 배치되어 있음!"
" "
sleep(2);
"CEMTool>> Bm2 = T3\\\G"
" "
sleep(2);
 
Bm2 = T3\G
" "
"===> Bm = [1 1 1 1 1]' 임을 확인!!"
" "
sleep(2);
 
"Cm과 Dm의 계산"
" "
sleep(2);
"CEMTool>> Cm2 = H3*T3"
"CEMTool>> Dm2 = 0"
" "
sleep(2);
 
Cm2 = H3*T3
Dm2 = 0
댓글목록

등록된 댓글이 없습니다.