function [RO] = ltiro(A,C) % % author: Nasser M. Abbasi % change history % ----------------------------------------------- % date reason % 3-2-92 intial % % ----------------------------------------------- % % specification: construct the observability matrix % Ro for a time-invariant dynamic equation % % paramters: % A : is an IN argument , the nXn matrix of state quation % C : is an IN argument , the C matrix of the state equation % Ro : is an OUT parameter, the observability matrix % % implicit input: % none % % implicit output : % none % %------------------------------------------------ if(nargin ~= 2) error('number of input arguments must be 2, the A,C matrices'); end [row,col]= size(A); if(row ~= col) error('A matrix supplied must be a square matrix'); end n= max(size(A)); [row,col]= size(C); % % build the first element of Ro % t(1:row,1:col)= C; cur_row= row; cur_col= col; % % Now loop from 1 to n-1 to build the rest of Rc % for i=1:n-1 a= C * A^i; [row,col]= size(a); t(cur_row+1:cur_row+row, 1:cur_col)= a; cur_row= cur_row+row; end RO= t;