Hilfestellung zur Implementierung des Gaußsches Eliminationsverfahren

atrunz

Neues Mitglied
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:
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:

stg

Top Contributor
Ja, ist es.

Dein Code unter //Zeile 1, //Zeile 2-1 und //Zeile 2-2 ist nahezu identisch. Wenn du diesen verallgemeinerst und in eine weitere for-Schleife packst, dann bist du schon ein großen Schritt weiter. Vielleicht siehst du dann ja auch selbst schon, wohin das ganze führen soll?! :)
 

atrunz

Neues Mitglied
Vielen Dank für die Antwort :)

Beim Verallgemeinern habe ich leider etwas Schwierigkeiten.
Mittlerweile bin ich mir sicher ( hoffentlich das stimmt auch :D ) dass ich die zwei for-Schleifen verschachteln muss.

Code:
        for(int m=1; m<=3; m++)
        {
                for (int j=0; j<=3; j++)
                {   
                    //hier die for-Schleife die ich bereits verwende
                }
           
           
        }

Jedoch habe ich beim Verallgemeinern Probleme, da meine Berechnungen pro Zeile um einen Schritt wachsen. Untenstehend sind die Berechnungsformlen zu sehen. Jedoch müsste mein Indize der for schleife sich hierzu unregelmäig ändern? sprich 1, 2, 2, 3, 3, 3. Die Multiplikation des Wertes mit dem Kürzungsfaktor bereitet mir beim Verallgemeinern auch noch Kopfzerbrechen .. :D
Hättest du mir vielleicht einen weiteren Tipp?
Vielen Dank im Voraus :)

LGS[1][j] = (LGS[0][j]*c) + LGS[1][j]; //Zeile 1

LGS[2][j] = (LGS[0][j]*e) + LGS[2][j];//Zeile 2
LGS[2][j] = (LGS[1][j]*d) + LGS[2][j];

LGS[3][j] = (LGS[0][j]*f) + LGS[3][j];//Zeile 3
LGS[3][j] = (LGS[1][j]*g) + LGS[3][j];
LGS[3][j] = (LGS[2][j]*h) + LGS[3][j];
.
.
.
 

stg

Top Contributor
Beim Verallgemeinern habe ich leider etwas Schwierigkeiten.
Mittlerweile bin ich mir sicher ( hoffentlich das stimmt auch :D ) dass ich die zwei for-Schleifen verschachteln muss.

Insgesamt kommst damit du auf sogar drei ineinander geschachtelte for-Schleife, ja.


Jedoch habe ich beim Verallgemeinern Probleme, da meine Berechnungen pro Zeile um einen Schritt wachsen. Untenstehend sind die Berechnungsformlen zu sehen. Jedoch müsste mein Indize der for schleife sich hierzu unregelmäig ändern?

Die ändern sich, ja, aber nicht unregelmäßig, sonder da gibt es eine regelmäßigkeit.
Die Grenzen der Laufindize der inneren beiden Schleifen hängen vom Index der äußeren Schleife ab.
 
Ähnliche Java Themen
  Titel Forum Antworten Datum
B Collections Streams - Hilfestellung bei komplexer Struktur Java Basics - Anfänger-Themen 9
J Hilfestellung zu Hochschulaufgaben Java Basics - Anfänger-Themen 19
J Suche Hilfestellung Java Basics - Anfänger-Themen 10
R Hilfestellung bei Iteratorimplementierung Java Basics - Anfänger-Themen 4
P Hilfestellung bei einer Aufgabe Java Basics - Anfänger-Themen 3
S Interpreter-Fehler Hilfestellung bei einer NullPointerException Java Basics - Anfänger-Themen 1
A Hilfestellung zum Thema Persistenz Java Basics - Anfänger-Themen 12
N BinärBaum Hilfestellung Java Basics - Anfänger-Themen 8
G hilfestellung bei Array Java Basics - Anfänger-Themen 5
M Hilfestellung zur schularbeit Java Basics - Anfänger-Themen 17
ruutaiokwu JRE-/JDK-unabhängige PBKDF2WithHmacSHA512-Implementierung Java Basics - Anfänger-Themen 16
V Hilfe bei Implementierung einer boolean Methode Java Basics - Anfänger-Themen 6
K Fehler bei der Implementierung Java Basics - Anfänger-Themen 6
J Implementierung gcd();square() Java Basics - Anfänger-Themen 98
J Implementierung von Observer und Singleton-Pattern Java Basics - Anfänger-Themen 9
A Implementierung von String toString methode() Java Basics - Anfänger-Themen 4
G Projekt architektur (implementierung) Java Basics - Anfänger-Themen 3
M Implementierung einer getNextId Methode Java Basics - Anfänger-Themen 5
J Implementierung Listen-ADT Java Basics - Anfänger-Themen 131
J Implementierung eines Zustandsdiagramms Java Basics - Anfänger-Themen 19
I GenericQueue / Implementierung als Ringspeicher Java Basics - Anfänger-Themen 4
MiMa Log4j2 implementierung Java Basics - Anfänger-Themen 4
S Interface Interface und seine Implementierung Java Basics - Anfänger-Themen 5
G Array implementierung Java Basics - Anfänger-Themen 23
J ANTLR Installierung und Implementierung Java Basics - Anfänger-Themen 2
E Hilfe bei Implementierung von Methoden Java Basics - Anfänger-Themen 10
S SkipList Implementierung Java Basics - Anfänger-Themen 1
J Methoden Suche effiziente Implementierung für eine Methode Java Basics - Anfänger-Themen 3
J Interface Probleme bei der Implementierung Java Basics - Anfänger-Themen 1
E hashCode implementierung Java Basics - Anfänger-Themen 9
S Implementierung der Klasse Konto und Nutzung bereits vorhandener Klassen Java Basics - Anfänger-Themen 7
H Implementierung eines Interfaces erweitern Java Basics - Anfänger-Themen 13
O Generics - Implementierung Java Basics - Anfänger-Themen 7
B OOP Implementierung eines Heaps Java Basics - Anfänger-Themen 13
K Bucketsort Implementierung Java Basics - Anfänger-Themen 0
K Mergesort Fehler in der Implementierung Java Basics - Anfänger-Themen 2
K Quicksort Fehler in der Implementierung Java Basics - Anfänger-Themen 2
S Klassen Klassendiagramm Implementierung? Java Basics - Anfänger-Themen 5
J Bucketsort Implementierung Java Basics - Anfänger-Themen 0
C Stack - listenbasierte Implementierung Java Basics - Anfänger-Themen 4
N Was bedeutet "Implementierung vor dem Client verbergen" bei Design Patterns? Java Basics - Anfänger-Themen 2
T Collections LinkedList<LinkedList<T>> - Implementierung Java Basics - Anfänger-Themen 10
F Implementierung von Interfaces -> Problem mit main Java Basics - Anfänger-Themen 12
D Resourcebundle implementierung Java Basics - Anfänger-Themen 2
M Implementierung des Knuth-Morris-Pratt-Algorithmus Java Basics - Anfänger-Themen 0
Q Implementierung von Listenern Java Basics - Anfänger-Themen 4
B Klassen Hilfe bei Implementierung Java Basics - Anfänger-Themen 5
N Compiler-Fehler Comparable / compareTo implementierung Java Basics - Anfänger-Themen 2
S Fragen zur Implementierung eines Binärbaums Java Basics - Anfänger-Themen 3
I Erste Schritte Implementierung der API Java Basics - Anfänger-Themen 2
S Fragen zur Implementierung eines Adressbuches Java Basics - Anfänger-Themen 20
M falsche implementierung von currentTimeMillis() ? Java Basics - Anfänger-Themen 14
G Implementierung eines Kontos Java Basics - Anfänger-Themen 11
M Quicksort implementierung Java Basics - Anfänger-Themen 23
SexyPenny90 Implementierung einer doubly linked list Java Basics - Anfänger-Themen 5
N Binärbaum/Implementierung Java Basics - Anfänger-Themen 9
U Doppelte Interfcae Implementierung Java Basics - Anfänger-Themen 10
K Kleiner Fehler bei Methoden Implementierung Java Basics - Anfänger-Themen 6
M Collections Problem bei Überschreibung von hashcode() und equals() bei Hashset-Implementierung Java Basics - Anfänger-Themen 5
S OOP Implementierung Komposition, Aggregation, Assoziation und Generalisierung Java Basics - Anfänger-Themen 2
C Klassenhirarchien zur Implementierung von Fahrzegen Java Basics - Anfänger-Themen 26
BinaryLogic Datentypen Statistik Interface - untersch. Implementierung Java Basics - Anfänger-Themen 5
E Performante Implementierung eines "Hintergrundprogramms" Java Basics - Anfänger-Themen 10
S Saubere Implementierung Java Basics - Anfänger-Themen 2
K Dijkstra implementierung 2.0 Java Basics - Anfänger-Themen 19
K dijskral implementierung Java Basics - Anfänger-Themen 14
U Probleme mit Server-Client implementierung Java Basics - Anfänger-Themen 5
K Game of Life Implementierung Java Basics - Anfänger-Themen 30
B OOP Problem bei Implementierung von Interface Java Basics - Anfänger-Themen 6
J HashSet Implementierung Java Basics - Anfänger-Themen 16
R NullPointerException in Queue-Implementierung Java Basics - Anfänger-Themen 11
X Frage zur Implementierung von equals() Java Basics - Anfänger-Themen 2
B Effektive Implementierung für Darstellung großer Datenmengen in Jogl Java Basics - Anfänger-Themen 5
D Datentypen Implementierung eines Binärbaumes Java Basics - Anfänger-Themen 7
B Implementierung Java Basics - Anfänger-Themen 2
N Implementierung Tic tac toc Java Basics - Anfänger-Themen 25
O Stack Implementierung als verkettete Liste Java Basics - Anfänger-Themen 8
Y Implementierung einer Potenzturm Funktion Java Basics - Anfänger-Themen 4
S Implementierung gegen Interfaces / List, ArrayList, LinkedList Java Basics - Anfänger-Themen 11
J Quicksort Implementierung-- Exception ArrayOutOfBounds Java Basics - Anfänger-Themen 6
U Implementierung Constructor Java Basics - Anfänger-Themen 7
T Problem mit Implementierung von einer HashMap aufgabe Java Basics - Anfänger-Themen 2
G Implementierung des Observer/Observable Patterns - Gut so? Java Basics - Anfänger-Themen 3
I Zugriff auf Implementierung verhindern Java Basics - Anfänger-Themen 8
D Implementierung nach MVC Java Basics - Anfänger-Themen 6
B Theoretische Frage zum Programmbau (nun zur Implementierung) Java Basics - Anfänger-Themen 8
H Implementierung von Interfaces Java Basics - Anfänger-Themen 4
G Implementierung von Bäumen Java Basics - Anfänger-Themen 2
N Probleme mit paint() bei Implementierung in ein Panel Java Basics - Anfänger-Themen 4
B Wie funktioniert die implementierung von c code in Java? Java Basics - Anfänger-Themen 7

Ähnliche Java Themen

Neue Themen


Oben