Gram Shimidt QR Factorization Matlab version

本文详细介绍了经典Gram-Schmidt方法用于形成矩阵的QR分解过程,包括正交化基向量构造和上三角矩阵R的生成。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

function [Q,R] = gram_schmidt_qr(A)

% Formation: A = QR
% The implementation of QR Factorization(classical Gram-Schmidt method)
% Q is orthonormal basis for R(A)
% R is an upper-triangular matrix with positive diagonal entries.

% Author: Zhenlin Du(Johnsondu)
% Email:  qlduzhlin@126.com
% Time:   2014-11-27 22:00

A = double(A)
[m, n] = size(A);
Q = zeros(m, n);
R = zeros(n, n);

% for k = 1
u1 = A(:, 1);
Q(:, 1) = u1 / (sqrt(dot(u1, u1)));
R(1, 1) = (sqrt(dot(u1, u1)));

% for k > 1
for i = 2 : n
	% take column i
	u = A(:, i);  
	
    % compute R and u
	for j = 1: i - 1
		R(j, i) = dot(Q(:, j), u);
		u = u - R(j, i) * Q(:, j);
    end
    
    % get R(i, i)
	R(i, i) = (sqrt(dot(u, u)));
    % normalize
	u = u / R(i, i);
	Q(:, i) = u;
end

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值