求特征值和相应特征向量及权值的MATLAB程序:
format short;
%输入待求的矩阵A
A=[1 2 3 ;1/2 1 2 ;1/3 1/2 1];
[v,d]=eigs(A);
%最大特征值
tbmax=max(d(:));
%得到的行数列数
[m,n]=size(v);
%将特征向量标准化
sum = 0;
for i=1:m
sum = sum + v(i,1);
end
tbvector = v(:,1);
for i=1:m
tbvector(i,1)= v(i,1)/sum;
end
disp('========================================');
disp('输入的矩阵为:');
A
disp('所有的特征向量和特征值为:');
v
d
disp('最大的特征值为:');
tbmax
disp('最大的特征值对应的特征向量为(标准化后的):');
tbvector
disp('========================================');
disp('输入的矩阵为:');
A
disp('所有的特征值和特征向量为:');
v
d
disp('最大的特征值');
tbmax
disp('最大的特征值对应的特征向量为(标准化后的):');
tbvector