자동제어 | 대각선표준형 |
페이지 정보
작성자 cemtool 작성일14-04-22 12:27 조회14,996회 댓글0건본문
다음과 같은 행렬에 대한 대각선표준형(diagonal canonical form)을 구해보자.
«풀이»
먼저 행렬 의 고유값을 구하고, 이를 이용하여 Vandermonde 행렬 를 구한다.
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
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
이와 같이 대각선표준형을 구하기 위해서는 중복된 고유값이 나오지 말아야 한다. 그러나 중복된 고유값이 나온 경우에는 중복된 고유값 각각에 대하여 새로운 고유벡터를 구한 후에, 고유벡터들을 열로 갖는 행렬 를 정의하여 사용하면 된다.
댓글목록
등록된 댓글이 없습니다.