Autor |
Beitrag |
anja
| Veröffentlicht am Mittwoch, den 12. Dezember, 2001 - 19:26: |
|
Hallo! Ich hoffe es gibt jemanden, der ein wenig Ahnung von MATLAB hat, ich brauche dringend Hilfe bei folgender Aufgabe! Die reduzierte QR-Faktorisierung einer Matrix A element C°mxn (m>=n) kann außer durch Householder oder Givens auch mit Hilfe des Gram-Schmidtschen-Orthogonalisierungverfahrens, angewandt auf die Spaltenvektoren a_j (j=1,...,n) von A, berechnet werden. Algorithmus: for j=1:n q_j:=a_j for k=1:j-1 r_kj:=((p_k)^T)a_j q_j:=(q_j)-(r_kj)(p_k) end r_jj:=||q_j||_2 p_j:=(q_j)/r_jj end Es stellt sich heraus, daß dieses Verfahren numerisch nicht sehr stabil ist, was sich in raschem Verlust an Orthogonalität infolge von Rundungsfehlern bemerkbar macht. Man benutzt daher folgende Umformung(modifizierter Gram-Schmidt): for j=1:n q_j:=a_j end for j=1:n r_jj:=||q_j||_2 p_j:=(q_j)/r_jj for k=j+1:n r_jk:=((p_j)^T)q_k q_k:=(q_k)-(r_jk)p_j end end Fragen: a) Wieviele Gleitpunktoperationen benötigen die beiden Verfahren? b)Schreiben Sie MATLAB-Funktionen [Q,R] = gs(A) bzw. [Q,R] = mgs(A), welche eine reduzierte QR-Faktorisierung von A mit dem Gram-Schmidt bzw. modifizierten Gram_Schmidt-Verfahren berechnen. c)verwenden Sie beide Algorithmen zur Berechnung der QR_Zerlegung folgender Testmatrix A=USV^T: U und V seien zwei zufällig gewählte orthog. NxN-Matrizen (etwa [U,X]=qr(randn(N)) oder Householder-Matrizen mit zufälligem Householder-Vektor und S= diag(2^-1,2^-2,...,2^-N) für N=80. Plotten sie(logarithmisch) die Diagonalelemente des jeweiligen R-Faktors.Was beobachten Sie und wie erklären Sie diese Beobachtung? Hoffentlich kann mir jemand helfen! tschüß! Anja |
|