% 基本QR方法求解矩阵特征值MATLAB代码 % 输入矩阵A,输出矩阵特征值和特征向量

function [eig_val, eig_vec] = basic_QR(A) n = size(A, 1); eig_val = zeros(n, 1); eig_vec = eye(n);

for i = 1:n
    while abs(A(n, n-1)) > 1e-10  % 判断是否已经上三角化
        % QR分解
        [Q, R] = qr(A);
        A = R * Q;
        eig_vec = eig_vec * Q;
    end
    eig_val(i) = A(n, n);
    A = A(1:n-1, 1:n-1);
    n = n - 1;
end

end


原文地址: https://www.cveoy.top/t/topic/jzXX 著作权归作者所有。请勿转载和采集!

免费AI点我,无需注册和登录