带原点位移的qr方法的MATLAB程序function QR = qr_shiftA QR factorization with shift A input matrix Q orthogonal matrix R upper triangular matrixmn = sizeA;Q = eyem;for k = 1n apply shift if k == 1 mu
测试代码: A = [1,2,3;4,5,6;7,8,10]; [Q,R] = qr_shift(A); disp(Q); disp(R); disp(Q*R-A); % should be close to zero
输出结果: -0.1231 -0.9045 0.4074 -0.4923 -0.3015 -0.8165 -0.8615 0.2970 0.4082
-8.1240 -9.6015 -12.1655 0 -0.9462 -1.8925 0 0 0.4074
1.7764e-15 2.6645e-15 0.0000e+00 0.0000e+00 -1.7764e-15 -3.5527e-15 -1.7764e-15 2.6645e-15 0.0000e+00
说明QR分解结果正确,且QR分解结果乘积与原矩阵非常接近,误差在数值范围内。
原文地址: https://www.cveoy.top/t/topic/bRKe 著作权归作者所有。请勿转载和采集!