Norm Matrix / Jacobi < Lin. Gleich.-systeme < Numerik < Hochschule < Mathe < Vorhilfe
|
Status: |
(Frage) überfällig | Datum: | 22:10 Mi 25.11.2009 | Autor: | Zuggel |
Aufgabe | while inc > toll | res/norm(b) > toll
for i=1:n
x(i)=(b(i)-A(i,1:i-1)*x0(1:i-1)-A(i,i+1:n)*x0(i+1:n))/A(i,i);
end
inc=norm(x-x0);
res=norm(b-A*x); |
Hallo alle zusammen
Ich habe ein kleines Problem und zwar: Ich programmiere gerade mit Matlab ein Script welches mir durch Jacobi ein LGS lösen soll.
Nun ich habe eine Lösung vor mir liegen mit einer "while"-Schleife:
while inc > toll | res/norm(b) > toll
for i=1:n
x(i)=(b(i)-A(i,1:i-1)*x0(1:i-1)-A(i,i+1:n)*x0(i+1:n))/A(i,i);
end
inc=norm(x-x0);
res=norm(b-A*x);
Um das ganze Script zu schreiben, aber um das Script selbst geht es nicht sondern um die Bedingung:
Dieses Script wird so lange wiederholt, bis die while Schleife erfüllt wird, ich habe ein Problem mit:
res/norm(b)
wir haben das System
Ax=b
b = Lösungsvektor
A= Matrix
x ist der jeweilige Iterationsschritt welcher mit Jacobi durchgeführt wurde, der Rest interessiert für die Frage eigentlich nicht.
Mein Problem ist: Was bedeutet eigentlich die Norm einer Matrix, also was sagt sie aus?
Und weiteres: Warum wird bei einer Jacobi Iteration diese Bedingung aufgestellt, und zwar die dass die norm vom Vektor (b-A*x)/norm(b) < einer gegebenen Tolleranz sein muss? Ist das eine Bedingung für die Genauigkeit des Jacobi Verfahrens?
Für mich ist es noch klar, dass (x-x0) < toll sein muss, damit die Iteration genau ist, aber der zweite Punkte ist mir unbekannt.
Ich hoffe ich habe mein Problem klar genug geschildert
Danke sehr
lg
Zuggel
|
|
|
|
Status: |
(Mitteilung) Reaktion unnötig | Datum: | 22:20 Di 01.12.2009 | Autor: | matux |
$MATUXTEXT(ueberfaellige_frage)
|
|
|
|
|
Status: |
(Mitteilung) Reaktion unnötig | Datum: | 10:44 So 06.12.2009 | Autor: | Denny22 |
> while inc > toll | res/norm(b) > toll
> for i=1:n
>
> x(i)=(b(i)-A(i,1:i-1)*x0(1:i-1)-A(i,i+1:n)*x0(i+1:n))/A(i,i);
> end
> inc=norm(x-x0);
> res=norm(b-A*x);
> Hallo alle zusammen
>
> Ich habe ein kleines Problem und zwar: Ich programmiere
> gerade mit Matlab ein Script welches mir durch Jacobi ein
> LGS lösen soll.
>
> Nun ich habe eine Lösung vor mir liegen mit einer
> "while"-Schleife:
>
> while inc > toll | res/norm(b) > toll
> for i=1:n
>
> x(i)=(b(i)-A(i,1:i-1)*x0(1:i-1)-A(i,i+1:n)*x0(i+1:n))/A(i,i);
> end
> inc=norm(x-x0);
> res=norm(b-A*x);
>
> Um das ganze Script zu schreiben, aber um das Script selbst
> geht es nicht sondern um die Bedingung:
>
> Dieses Script wird so lange wiederholt, bis die while
> Schleife erfüllt wird, ich habe ein Problem mit:
>
> res/norm(b)
>
> wir haben das System
> Ax=b
> b = Lösungsvektor
> A= Matrix
>
> x ist der jeweilige Iterationsschritt welcher mit Jacobi
> durchgeführt wurde, der Rest interessiert für die Frage
> eigentlich nicht.
>
> Mein Problem ist: Was bedeutet eigentlich die Norm einer
> Matrix, also was sagt sie aus?
Die Norm der Matrix sagt Dir etwas darüber aus, ob Dein Problem gut oder schlecht konditioniert ist. Siehe:
http://de.wikipedia.org/wiki/Kondition_(Mathematik)
>
> Und weiteres: Warum wird bei einer Jacobi Iteration diese
> Bedingung aufgestellt, und zwar die dass die norm vom
> Vektor (b-A*x)/norm(b) < einer gegebenen Tolleranz sein
> muss? Ist das eine Bedingung für die Genauigkeit des
> Jacobi Verfahrens?
>
>
> Für mich ist es noch klar, dass (x-x0) < toll sein muss,
> damit die Iteration genau ist, aber der zweite Punkte ist
> mir unbekannt.
Es handelt sich bei beiden Bedingungen um Abbruchkriterien.
> Ich hoffe ich habe mein Problem klar genug geschildert
>
> Danke sehr
> lg
> Zuggel
>
|
|
|
|