The Gram-Schmidt algorithm for unknown n?

Hiya,
I’m trying to understand how to carry out the gram Schmidt algorithm when you have an unknown number of vectors n.
Any help would be appreciated.

 Akzeptierte Antwort

David Hill
David Hill am 29 Apr. 2020

0 Stimmen

V is matrix input where vectors are column vectors. Output U is matrix with replacement vectors as column vectors.
n = size(V,1);
k = size(V,2);
U = zeros(n,k);
U(:,1) = V(:,1)/sqrt(V(:,1)'*V(:,1));
for i = 2:k
U(:,i) = V(:,i);
for j = 1:i-1
U(:,i) = U(:,i) - ( U(:,j)'*U(:,i) )/( U(:,j)'*U(:,j) )*U(:,j);
end
U(:,i) = U(:,i)/sqrt(U(:,i)'*U(:,i));
end

4 Kommentare

Kai Whelan
Kai Whelan am 29 Apr. 2020
When I run this code for the output U I don’t get the correct values for the first column ?
David Hill
David Hill am 29 Apr. 2020
I believe it is correct. Do you have an example showing it does not work?
Kai Whelan
Kai Whelan am 29 Apr. 2020
All good now thanks.
ahmadreza hormozi
ahmadreza hormozi am 18 Mär. 2021
nice job , thanks

Melden Sie sich an, um zu kommentieren.

Weitere Antworten (0)

Kategorien

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by