Issue using sum() for QR method script
1 visualizzazione (ultimi 30 giorni)
Mostra commenti meno recenti
The following is a cut-out from a QR method script for finding all the eigenvalues of a matrix. When the line for a(:,i)=.... is run within the 'for' loop it fails to complete. I am trying to mimic the expression from the image below with a(:,i) and having a lot of trouble, please help me.
A=[8 -2 -2; -2 4 -2; -2 -2 13]; %initial matrix
k=0; %starts iteration count
while ((max(abs((lambdak-lambda0)/lambda0))>toler) && (k<maxiter)); %as long as the change between the previous and current lamda are >toler, keep going until you hit the iteration limit
lambda0=lambdak; %establish baseline values for lamda
k=k+1; %iteration number for display +1
a=A;
q(:,1)=a(:,1)./norm(a(:,1));
for i=2:n
a_p(:,i)=a(:,i)-sum(transpose(q(:,i-1))*a(:,i).*q(:,i-1),i,1,i-1) %where I am getting stuck
q(:,i)=a_p(:,i)./norm(a_p(:,i))
end
end
![](https://www.mathworks.com/matlabcentral/answers/uploaded_files/156881/image.jpeg)
0 Commenti
Risposte (1)
Brandon Eidson
il 7 Ott 2016
Modificato: Brandon Eidson
il 29 Dic 2016
Hey Chris,
It looks to me that your implementation of the "sum" function is incorrect. This function only takes two inputs, but I think you are passing it four inputs. See the documentation at the link below.
0 Commenti
Vedere anche
Categorie
Scopri di più su Surface and Mesh Plots in Help Center e File Exchange
Prodotti
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!