Hallo Zusammen,
Ich befinde mich derzeit in den Anfängen des Programmierens.
Zu Übungszwecken wollte ich das aus Schulzeiten bekannte Gaußsches Eliminationsverfahren in Java implementieren.
Für die Anfänge habe ich die Matritzengröße fest vorgegeben, dass erzeugen des "Null-Dreieicks" funktioniert auch soweit.
Nun würde ich gerne auch größere Matritzen umstellen können, hierzu müsste ich etliche for-Schleifen einfügen (Für Zeile 3: 3 FOR-Schleifen, für Zeile 4: 4 FOR-Schleifen ...).
Ist es möglich diese Berechnung kompakter zu gestalten? Möglichst auch unabhängig von der Größe des LGS.
Über Hilfestellungen würde ich mich freuen
Bisheriger Code:
Ich befinde mich derzeit in den Anfängen des Programmierens.
Zu Übungszwecken wollte ich das aus Schulzeiten bekannte Gaußsches Eliminationsverfahren in Java implementieren.
Für die Anfänge habe ich die Matritzengröße fest vorgegeben, dass erzeugen des "Null-Dreieicks" funktioniert auch soweit.
Nun würde ich gerne auch größere Matritzen umstellen können, hierzu müsste ich etliche for-Schleifen einfügen (Für Zeile 3: 3 FOR-Schleifen, für Zeile 4: 4 FOR-Schleifen ...).
Ist es möglich diese Berechnung kompakter zu gestalten? Möglichst auch unabhängig von der Größe des LGS.
Über Hilfestellungen würde ich mich freuen
Bisheriger Code:
Code:
public class Gauß
{
public static void main (String args [])
{
double[][] LGS =
{
{ 3, 9, 8, 5 },//Zeile 0
{ 0, 2, 3, 6 },
{ 5, 1, 2, 6,}
};
// Array auf Gaußform bringen
//Zeile 1
double c = -LGS[1][0] / LGS[0][0];
System.out.println("c: "+c);
if(LGS[1][0]!=0)
{
for (int j=0; j<=3; j++)//breite der matrix
{
LGS[1][j] = (LGS[0][j]*c) + LGS[1][j];
}
}
//Zeile 2 - 1
double e = -LGS[2][0] / LGS[0][0];
System.out.println("e: " + e);
if(LGS[2][0] != 0)
{
for (int k=0; k<=3; k++)
{
LGS[2][k] = (LGS[0][k]*e) + LGS[2][k];
}
}
//Zeile 2 - 2
double d = -LGS[2][1] / LGS[1][1];
System.out.println("d: " +d);
for (int l=0; l<=3; l++)
{
LGS[2][l] = (LGS[1][l]*d) + LGS[2][l];
}
// das Array ausgeben
for ( int zeile = 0; zeile < LGS.length; zeile++ )
{
System.out.print("Zeile " + zeile + ": ");
for ( int spalte=0; spalte < LGS[zeile].length; spalte++ )
System.out.print( LGS[zeile][spalte] + " ");
System.out.println();
}
}
}
Zuletzt bearbeitet: