Ss2phv.m
上传用户:eighthdate
上传日期:2014-05-24
资源大小:270k
文件大小:1k
源码类别:

其他行业

开发平台:

Matlab

  1. function [a,b] = ss2phv(A,B)
  2. %ss2phv Transforms a general state variable equation into phase variable form
  3. %                                                          n-1
  4. %       for a given A and B if the matrix S =[B  AB  ... A   B] is nonsigular
  5. %       H. Saadat,  1998
  6. n=length(A);
  7.   for i=1:n;
  8.   S(:,n+1-i) = A^(n-i)*B;
  9.   end
  10.   if rank(S)~=n
  11.   error('S is singular, cannot find the transformation matix')
  12.   else
  13. T=inv(S);
  14. q1=T(n,:);
  15.   for i =1:n;
  16.   Q(n+1-i,:)=q1*A^(n-i);
  17.   end
  18. clc
  19. disp('The transformation matrix is')
  20. Q
  21. a = Q*A*inv(Q);
  22. b = Q*B;
  23.    end