回复: 求助各位运用MATLAB的几道数学问题
1、幂法的函数文件
function[z,m] = power_m(A,max_it,tol)
[n,nn]=size(A); z= ones(n,1);%定义初始迭代值
it=0; error=100;
disp('it, m z(1) z(3) z(4) z(5)') %要计算超过5阶的矩阵,则修改此处的z(i)的值
while it<max_it && error>tol
%幂法的迭代核心步骤
w = A*z; ww=abs(w);
[k,kk] = max(ww); %kk为ww的最大元素的标号
m = w(kk); %特征值的近似值
z = w/w(kk); %特征向量的近似值
out = [it+1 m z'];
disp(out)
error=norm(A*z-m*z);
it=it+1;
end
error
|