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;