셈툴 다운로드

셈툴 튜토리얼

자동제어 | 대각선표준형 |

페이지 정보

작성자 cemtool 작성일14-04-22 12:27 조회14,208회 댓글0건

본문

다음과 같은 행렬에 대한 대각선표준형(diagonal canonical form)을 구해보자.


«풀이»

먼저 행렬 의 고유값을 구하고, 이를 이용하여 Vandermonde 행렬 를 구한다.

ex3_8.cem
A = [0 1 0; 0 0 1; -6 -11 -6];
lambda = roots(poly(A))
lambda  =  
     -3.0000
     -2.0000
     -1.0000
ex3_8.cem
vec1 = [1 1 1];
vec2 = [lambda(1) lambda(2) lambda(3)];
T = [vec1; vec2; vec.^2]
T  =  
      1.0000    1.0000    1.0000
     -3.0000   -2.0000   -1.0000
      9.0000    4.0000    1.0000
ex3_8.cem
Abar = inv(T)*A*T
Abar  =  
     -3.0000    0.0000    0.0000
      0.0000   -2.0000    0.0000
      0.0000    0.0000   -1.0000

의 대각성분이 고유 값들로 이루어져 있음을 확인할 수 있다. 마찬가지로 이런 동작을 하는 함수 tr2dcf를 만들어 보자.

ex3_8.cem
function;
T, Abar<>A
lambda = roots(poly(A));
order = length(lambda);
vec1 = [1]; vec2 = [lambda(1)];
for(i=2;i<=order;i=i+1){	vec1 = [vec1 1];
	vec2 = [vec2 lambda(i)];
}T = vec1;
for(i=1;i<order;i=i+1)	T = [T vec2.^i];
Abar = inv(T)*A*T;

이제 이 함수를 사용하여 대각선표준형을 구해보자.

ex3_8.cem
A = [0 1 0; 0 0 1; -6 -11 -6];
[T, Abar] = tr2dcf(A)
T  =  
      1.0000    1.0000    1.0000
     -3.0000   -2.0000   -1.0000
      9.0000    4.0000    1.0000
    
Abar  =  
     -3.0000    0.0000    0.0000
      0.0000   -2.0000    0.0000
      0.0000    0.0000   -1.0000

이와 같이 대각선표준형을 구하기 위해서는 중복된 고유값이 나오지 말아야 한다. 그러나 중복된 고유값이 나온 경우에는 중복된 고유값 각각에 대하여 새로운 고유벡터를 구한 후에, 고유벡터들을 열로 갖는 행렬 를 정의하여 사용하면 된다.





댓글목록

등록된 댓글이 없습니다.