% Linear Systems, Homework 3
% Date: 11/13/06
% File: HW2_3.m
% Note: Algebraically Equivalence
% Name: Feng-Li Lian, fengli@ntu.edu.tw

close all; clear all;

R  = 1;
L  = 0.6;
C1 = 1/6;
C2 = 5/3;

% 1a

Ap = [ -1/(R*C1) 0 -1/C1; 
    0 0 1/C2;
    1/L -1/L 0];

Bp = [ 1/(R*C1) ; 0 ; 0 ];
Cp = [ 0 1 0 ];
Dp = 0;

Sysp = ss(Ap,Bp,Cp,Dp);


% 1b

poly(Ap);

% 1c

[Nump, Denp] = ss2tf( Ap, Bp, Cp, Dp );


%2a

Ac = [ 0 1 0; 0 0 1; -6 -11 -6];
Bc = [ 0; 0; 6 ];
Cc = [ 1 0 0 ];
Dc = 0;

Sysc = ss(Ac,Bc,Cc,Dc);

% 2b

poly(Ac);


[Numc, Denc] = ss2tf( Ac, Bc, Cc, Dc );

% 2c


eig(Ap);
eig(Ac);

T = [ 0 1 0; 0 0 0.6; 1 -1 0];

T * Ap * inv(T);
Ac;

T * Bp;
Bc;

    Cp * inv(T);
    Cc;
    

% eigenvalue & eigenvector

[Qp,Ep]=eig(Ap);
Qp = [ Qp(:,3) Qp(:,2) Qp(:,1) ]
Ep = diag( [ Ep(3,3), Ep(2,2), Ep(1,1)] )

Ap
Qp * Ep * inv(Qp)

[Qc,Ec]=eig(Ac);
Ac
Qc * Ec * inv(Qc)

[Qd,Ed]=eig(Ad);
Ad
Qd * Ed * inv(Qd)


% transformation

T = [ 0 1 0; 0 0 0.6; 1 -1 0];

T * Ap * inv(T)
Ac

T * Bp
Bc

    Cp * inv(T)
    Cc


% eigenvalue & eigenvector by null space calculation

q1 = [ -6/5; -3/5; 1 ];
q2 = [ -3/2; -3/10; 1];
q3 = [ -2; -1/5; 1 ];

Q = [ q1 q2 q3 ];

Ad = inv(Q)*Ap*(Q)
Td = inv(Q)

Bd = [  3; -6; 3 ];
Cd = [ 1 1 1 ];
Dd = 0;


bigCp = [ Bp Ap*Bp Ap^2*Bp];
bigCc = [ Bc Ac*Bc Ac^2*Bc];

T = bigCc*inv(bigCp)

T * Ap * inv(T)
Ac

T * Bp
Bc

Cp * inv(T)
Cc


