function x = householder(A,F)

[m,n] = size(A);

if m >= n R = A; Q = eye(m); else [Q,R] = qr(A'); Q = Q'; end

for i = 1:n v = R(i:end,i); v(1) = v(1) + sign(v(1))norm(v); v = v/norm(v); R(i:end,i:end) = R(i:end,i:end) - 2v*(v'R(i:end,i:end)); F(i:end) = F(i:end) - 2v*(v'*F(i:end)); if i < n R(i+1:end,i) = 0; end end

x = R\F;

if m < n x = Q*x'; end

end

Matlab Householder 算法求解奇异线性方程组 AX=F (m<n)

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

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