0 Daumen
89 Aufrufe

Moin, ist die Vorgehensweise bei der Spaltenpivotisierung einfach der Spalte nach eine obere Dreiecksmatrix zu erstellen?

von

Du suchst anscheinend gute Verfahren und Regeln für numerisches Rechnen mit (gerundeten) Kommazahlen. Probleme mit Stellenauslöschung und Scheingenauigkeit werden von einigen Verfahren besser umgangen als von andern. Dazu solltet ihr aber auch die entsprechenden Unterlagen haben.

https://www.mathelounge.de/688506/spaltenpivotisierung-mit-gleitkommadarstellung-z-zzze-z

1 Antwort

+2 Daumen
 
Beste Antwort

Spalten-Pivot bedeutet das (meist) betragsgrößte Element der Spalte durch Zeilentauschen (P) auf die Diagonalposition aii zu bringen um damit den Gaußschritt abzuhandeln.

A x = b ===> L R = P A ===> P A x = P b ===> L R x = P b

https://www.geogebra.org/m/vbrw8pe2

von 8,8 k

Sagen wir ich habe eine 3x3 Matrix, das betragsgrößte Element der 1. Spalte beinhaltet an 2. Position eine 0

Dann verschiebe ich die Zeile in die 1.

Mache den Gauß Schritt um alle darunter auf 0 zu bringen und wiederhole das ganze mit der 2. ja?

Das versteht ich jetzt net...

"betragsgrößte Element der 1. Spalte beinhaltet " nix ist eine Zahl/Wert?

gib die Matrix mal her...

Beispiele findest Du unter dem Link...

Nachtrag: das erste Element Deiner Matrix ist 0 - Du suchst in der ersten Spalte das betragsgrößte Element, sagen wir in Zeile 2 gefunden ==> tausche Zeile1 <> Zeile2

Nim eine Einheitsmatrix tausche Zeile1<>Zeile2 = P1 und multiplizere damit


\begin{array}{ccc|c}
    7.000E+0 & 0.000E+0 & 1.000E+0 & 1.000E+1\\
    1.000E+1 & 1.000E+0 & 0.001E+3 & 1.300E+1\\
    1.000E+3 & 0.000E+0 & 1.000E+0 & 1.001E+3 \end{array}

Die wird dann zu

 \begin{array}{ccc|c}
    1.000E+3 & 0.000E+0 & 1.000E+0 & 1.001E+3\\
    7.000E+0 & 1.000E+0 & 1.000E+0 & 1.000E+1\\
    1.000E+1 & 1.000E+0 & 1.000E+0 & 1.300E+1 \end{array}

So jetzt sorge ich dafür, dass unter  1.000E+3 nur 0 steht, ja.

Wenn ich das habe nehme ich $$a_{2,2}$$ und darunter eine 0?

Ich versteht Dein Anliegen immer noch nicht: Vielleicht einfach mal tun

T(1,3) A= \(\left(\begin{array}{rrrr}1000&0&1&1001\\10&1&1&13\\7&0&1&10\\\end{array}\right) \)

Dann Gauss

\(\left(\begin{array}{rrrr}1000&0&1&1001\\0&1&\frac{99}{100}&\frac{299}{100}\\0&0&\frac{993}{1000}&\frac{2993}{1000}\\\end{array}\right)\)

Und was jetzt? Fertig?

Komme grad auf andere Werte

$$\begin{align*} &\begin{array}{ccc|c}     7.000E+0 & 1.000E+0 & 1.000E+0 & 1.000E+1\\     1.000E+1 & 1.000E+0 & 1.000E+0 & 1.300E+1\\     1.000E+3 & 0.000E+0 & 1.000E+0 & 1.001E+3     \end{array}\\ &\begin{array}{ccc|cc}     1.000E+3 & 0.000E+0 & 1.000E+0 & 1.001E+3\\     1.000E+1 & 1.000E+0 & 1.000E+0 & 1.300E+1 \\     7.000E+0 & 1.000E+0 & 1.000E+0 & 1.000E+1&|E+1\\     \end{array}\\ &\begin{array}{ccc|cc}     1.000E+3 & 0.000E+0 & 1.000E+0 & 1.001E+3\\     1.000E+1 & 1.000E+0 & 1.000E+0 & 1.300E+1 &|*7\\     7.000E+1 & 1.000E+1 & 1.000E+1 & 1.000E+2\\     \end{array}\\ &\begin{array}{ccc|cc}     1.000E+3 & 0.000E+0 & 1.000E+0 & 1.001E+3\\     7.000E+1 & 7.000E+0 & 7.000E+0 & 9.100E+1&|-3. row\\     7.000E+1 & 1.000E+1 & 1.000E+1 & 1.000E+2\\     \end{array}\\ &\begin{array}{ccc|cc}     1.000E+3 & 0.000E+0 & 1.000E+0 & 1.001E+3& | E-2\\     0.000E+0 & -3.000E+0 & -3.000E+0 & -9.000E+0\\     7.000E+1 & 1.000E+1 & 1.000E+1 & 1.000E+2\\     \end{array}\\     &\begin{array}{ccc|cc}     1.000E+1 & 0.000E+0 & 1.000E-2 & 1.001E+1\\     0.000E+0 & -3.000E+0 & -3.000E+0 & -9.000E+0\\     7.000E+1 & 1.000E+1 & 1.000E+1 & 1.000E+2 &| - 7* 1. row\\     \end{array}\\     &\begin{array}{ccc|cc}     1.000E+3 & 0.000E+0 & 1.000E+0 & 1.001E+3\\     0.000E+0 & -3.000E+0 & -3.000E+0 & -9.000E+0\\     0.000E+0 & 1.000E+1 & 9.993E+2 & 2.993E+1 \\     \end{array}\\     &\begin{array}{ccc|cc}     7.000E+0 & 1.000E+0 & 1.000E+0 & 1.000E+1\\     0.000E+0 & 1.000E+1 & 9.993E+2 & 2.993E+1 \\     0.000E+0 & -3.000E+0 & -3.000E+0 & -9.000E+0&|E+1 \\     \end{array}\\         &\begin{array}{ccc|cc}     7.000E+0 & 1.000E+0 & 1.000E+0 & 1.000E+1\\     0.000E+0 & 1.000E+1 & 9.993E+2 & 2.993E+1 \\     0.000E+0 & -3.000E+1 & -3.000E+1 & -9.000E+1\\     \end{array}\\             &\begin{array}{ccc|cc}   7.000E+0 & 1.000E+0 & 1.000E+0 & 1.000E+1\\     0.000E+0 & 1.000E+1 & 9.993E+2 & 2.993E+1 \\     0.000E+0 & 0.000E+0 & 9.693+2 & 2.093E+1&\\     \end{array}\\                 &\begin{array}{ccc|cc}   7.000E+0 & 1.000E+0 & 1.000E+0 & 1.000E+1\\     0.000E+0 & 1.000E+1 & 9.993E+2 & 2.993E+1 \\     0.000E+0 & 0.000E+0 & 9.693+2 & 2.093E+1&\\     \end{array}\\ \end{align*}$$

Hatte n paar Fehler jetzt folgendes

\begin{align*}

&\begin{array}{ccc|c}
    7.000E+0 & 1.000E+0 & 1.000E+0 & 1.000E+1\\
    1.000E+1 & 1.000E+0 & 1.000E+0 & 1.300E+1\\
    1.000E+3 & 0.000E+0 & 1.000E+0 & 1.001E+3
    \end{array}\\
&\begin{array}{ccc|cc}
    1.000E+3 & 0.000E+0 & 1.000E+0 & 1.001E+3\\
    1.000E+1 & 1.000E+0 & 1.000E+0 & 1.300E+1 \\
    7.000E+0 & 1.000E+0 & 1.000E+0 & 1.000E+1&|E+1\\
    \end{array}\\
&\begin{array}{ccc|cc}
    1.000E+3 & 0.000E+0 & 1.000E+0 & 1.001E+3\\
    1.000E+1 & 1.000E+0 & 1.000E+0 & 1.300E+1 &|*7\\
    7.000E+1 & 1.000E+1 & 1.000E+1 & 1.000E+2\\
    \end{array}\\
&\begin{array}{ccc|cc}
    1.000E+3 & 0.000E+0 & 1.000E+0 & 1.001E+3\\
    7.000E+1 & 7.000E+0 & 7.000E+0 & 9.100E+1&|-3. row\\
    7.000E+1 & 1.000E+1 & 1.000E+1 & 1.000E+2\\
    \end{array}\\
&\begin{array}{ccc|cc}
    1.000E+3 & 0.000E+0 & 1.000E+0 & 1.001E+3& | E-2\\
    0.000E+0 & -3.000E+0 & -3.000E+0 & -9.000E+0\\
    7.000E+1 & 1.000E+1 & 1.000E+1 & 1.000E+2\\
    \end{array}\\
    &\begin{array}{ccc|cc}
    1.000E+1 & 0.000E+0 & 1.000E-2 & 1.001E+1\\
    0.000E+0 & -3.000E+0 & -3.000E+0 & -9.000E+0\\
    7.000E+1 & 1.000E+1 & 1.000E+1 & 1.000E+2 &| - 7* 1. row\\
    \end{array}\\
    &\begin{array}{ccc|cc}
    1.000E+3 & 0.000E+0 & 1.000E+0 & 1.001E+3\\
    0.000E+0 & -3.000E+0 & -3.000E+0 & -9.000E+0\\
    0.000E+0 & 1.000E+1 & 9.930E+0 & 2.993E+1 \\
    \end{array}\\
    &\begin{array}{ccc|cc}
    7.000E+0 & 1.000E+0 & 1.000E+0 & 1.000E+1\\
    0.000E+0 & 1.000E+1 & 9.930E+0 & 2.993E+1 \\
    0.000E+0 & -3.000E+0 & -3.000E+0 & -9.000E+0&|E+1 \\
    \end{array}\\
        &\begin{array}{ccc|cc}
    7.000E+0 & 1.000E+0 & 1.000E+0 & 1.000E+1\\
    0.000E+0 & 1.000E+1 & 9.930E+0 & 2.993E+1 \\
      0.000E+0 & -3.000E+1 & -3.000E+1 & -9.000E+1&| +3*2. row\\
    \end{array}\\
            &\begin{array}{ccc|cc}
  7.000E+0 & 1.000E+0 & 1.000E+0 & 1.000E+1\\
    0.000E+0 & 1.000E+1 & 9.993E+2 & 2.930E+1 \\
    0.000E+0 & 0.000E+0 & -2.100E-1 & -2.100E-1&\\
    \end{array}

Sorry, das kann kein Mensch lesen - lass doch die Exp-Schreibweise - was soll das?

Meine Rechnung

Du hast 3 Schritte: Tausche 1/3 & 1. Zeile+2.Zeile & 1.Zeile+3.Zeile

\(  \, \left(\begin{array}{rrr}1&0&0\\-\frac{1}{100}&1&0\\-\frac{7}{1000}&0&1\\\end{array}\right)    \, \left(\begin{array}{rrr}0&0&1\\0&1&0\\1&0&0\\\end{array}\right) A = \left(\begin{array}{rrrr}1000&0&1&1001\\0&1&\frac{99}{100}&\frac{299}{100}\\0&0&\frac{993}{1000}&\frac{2993}{1000}\\\end{array}\right)\)

damit bist quasi fertig: 3.Zeile*1000/993 und Rücksubstitution

dann hast Du

\(\left(\begin{array}{rrrr}1&0&0&\frac{991}{993}\\0&1&0&\frac{2}{331}\\0&0&1&\frac{2993}{993}\\\end{array}\right)\)

Ich soll mit dieser Schreibweise rechnen.

Hab am Anfang des Posts eine 0 mit einer 1 vertauscht soll 7 1 1 anstatt 7 0 1 sein.


Kein Wunder, dass ich auf andere Werte komme.


Komisch ist noch mein 2. x Wert warum auch immer

Ok Fehler gefunden, hab's hinbekommen. Danke trotzdem.

Ist aber richtig nach jeder erledigten Spalte immer wieder zu tauschen oder?

Das tut weh, dann würd ich die Rechnung trotzdem in Klartext rechnen und beim Aufschreiben wandeln

aus \(\left(\begin{array}{rrr}1&0&0\\-\frac{1}{100}&1&0\\-\frac{7}{1000}&0&1\\\end{array}\right)\) wird dann \( \left(\begin{array}{rrr}1E+0&0E+0&0E+0\\-1E-2&1E+0&0E+0\\-7E-3&0E+0&1E+0\\\end{array}\right) \)

Wenn die erste Spalte 0en dann betrachtest Du die n-1 Matrix von {{a22 a23},{a32,a33}} die 2.Spalte a22,a32 - und musst ggf. 2/3 Zeile tauschen 

In dem link https://www.geogebra.org/m/vbrw8pe2

findest Du ein 4x4 Beispiel gerechnet:

Mit den neuen Werten

\(\scriptsize \left(\begin{array}{rrrr}7.0  E+0&1.0  E+0&1.0  E+0&1.0  E+1\\1.0  E+1&1.0  E+0&1.0  E+0&1.3  E+1\\1.0  E+3&0&1.0  E+0&1.001  E+3\\\end{array}\right)\)

sieht das Ergebnis schöner aus

\(\scriptsize \left(\begin{array}{rrr}\frac{1}{1000}&0&0\\0&1&0\\0&0&1\\\end{array}\right)  \, \left(\begin{array}{rrr}1&0&-1\\0&1&-\frac{99}{100}\\0&0&1\\\end{array}\right)  \left(\begin{array}{rrr}1&0&0\\0&1&0\\0&0&\frac{1000}{3}\\\end{array}\right)  \, \left(\begin{array}{rrr}1&0&0\\0&1&0\\0&-1&1\\\end{array}\right) \, \left(\begin{array}{rrr}1&0&0\\-\frac{1}{100}&1&0\\-\frac{7}{1000}&0&1\\\end{array}\right) \, \left(\begin{array}{rrr}0&0&1\\0&1&0\\1&0&0\\\end{array}\right) A = \left(\begin{array}{rrrr}1.0  E+0&0&0&1.0  E+0\\0&1.0  E+0&0&2.0  E+0\\0&0&1.0  E+0&1.0  E+0\\\end{array}\right) \)

Ein anderes Problem?

Stell deine Frage

Willkommen bei der Mathelounge! Stell deine Frage sofort und kostenfrei

x
Made by a lovely community