www.pudn.com > matlab8.zip > exm2_f.m


function S=exm2_f(A) 
%exm2_f.m 
[m,n]=size(A); 
if m~=n 
	error('输入矩阵应是方阵!'); 
end; 
e=eig(A); 
%检查输入矩阵的特征值是否各异 
same=0; 
for i=1:m-1 
   for j=(i+1):m 
      if e(j)==e(i) 
         same=1; 
      end 
   end 
end 
% A可以对角化的条件是A具有互异特征值或者A为埃尔米特矩阵。 
if any(any((A'-A)))&(same==1) 
   error('矩阵无法对角化!'); 
end 
[v,d]=eig(A); 
S=v;