28.02.2014 Aufrufe

Kapitel 2 Lineare und nichtlineare Gleichungen - Institut für ...

Kapitel 2 Lineare und nichtlineare Gleichungen - Institut für ...

Kapitel 2 Lineare und nichtlineare Gleichungen - Institut für ...

MEHR ANZEIGEN
WENIGER ANZEIGEN

Erfolgreiche ePaper selbst erstellen

Machen Sie aus Ihren PDF Publikationen ein blätterbares Flipbook mit unserer einzigartigen Google optimierten e-Paper Software.

2.1 <strong>Lineare</strong> Gleichungssysteme 45<br />

x(n)=b(n)/U(n,n);<br />

for i=n-1:-1:1<br />

x(i)=(b(i)-U(i,i+1:n)*x(i+1:n))/U(i,i);<br />

end<br />

Jetzt fügen wir noch alles zusammen, um eine Funktion zur Lösung eines linearen<br />

Gleichungssystems bzw. eines linearen Least Squares Problems zu erhalten.<br />

function x=LinGl(A,b);<br />

%***********************************************************<br />

%Input-Parameter:<br />

% A n x n nichtsingulaere Matrix<br />

% b n-Spaltenvektor<br />

%Output-Parameter:<br />

% x Ax=b<br />

%Es werden GEpiv, Lsol <strong>und</strong> Usol benutzt.<br />

%***********************************************************<br />

[L,U,piv]=GEpiv(A);<br />

y=Lsol(L,b(piv));<br />

x=Usol(U,y);<br />

%***********************************************************<br />

Jetzt noch eine Funktion zur Lösung eines linearen Least Squares Problems. Es handelt<br />

sich hier also um die Aufgabe, bei gegebenen A ∈ R m×n mit m ≥ n <strong>und</strong> b ∈ R m den<br />

Defekt Ax−b 2 bezüglich der euklidischen Norm zu minimieren. Wenn A vollen Rang<br />

hat, ist diese Aufgabe eindeutig lösbar.<br />

function x=LSq(A,b);<br />

%***********************************************************<br />

%Input-Parameter:<br />

% A m x n-Matrix mit m>=n <strong>und</strong> rang(A)=n<br />

% b m-Spaltenvektor<br />

%Output-Parameter:<br />

% x Die Loesung des linearen Least Aquares Problems<br />

% Minimiere ||Ax-b||_2.<br />

%Es werden QRGivens <strong>und</strong> Usol benutzt.<br />

%**********************************************************<br />

[m,n]=size(A);<br />

[Q,R]=QRGivens(A);<br />

b=Q’*b; c=b(1:n); Rhat=R(1:n,:);<br />

x=Usol(Rhat,c);<br />

%**********************************************************<br />

Beispiel: In einem See wird der Sauerstoffgehalt s (gemessen in mg/l) inAbhängigkeit<br />

von der Tiefe t (gemessen in m) festgestellt.GemessenwerdendieWerte<br />

i t i s i<br />

1 15.0 6.50<br />

2 20.0 5.60<br />

3 30.0 5.40<br />

4 40.0 6.00<br />

5 50.0 4.60<br />

6 60.0 1.40<br />

7 70.0 0.10

Hurra! Ihre Datei wurde hochgeladen und ist bereit für die Veröffentlichung.

Erfolgreich gespeichert!

Leider ist etwas schief gelaufen!