Matrix transponieren

ToBe4minimal

Mitglied
Hallo Ihr Lieben,

ich hab ne Matrix die ich um 90 Grad drehen (transponieren) soll.

Hab jetzt alle Foren und das Internet durchgestöbert... aber finde immer nur das gleiche, nur, so funktioniert es nicht ganz...

Erstmal mein Code:
Code:
public class Matrix
{
    private int [][] elemente;
    private int [][] transponierte;

Ein Bequemlichkeitskonstruktor (hab verschiedene gemacht, unter anderem auch einen mit Zufallszahlen und son Kram und wo man die Anzahl der Zeilen und Spalten angeben kann, aber mit dem ist es erstmal am einfachsten):
HTML:
 public Matrix()
    {   
        elemente = new int [][]{{1,2},{3,4}};  
    }

So nun haben wir ein ganz kleines 2D Array.

Nun will ich das drehen.

Code:
 public void transponieren()
    {
        transponierte = new int [elemente.length][elemente[0].length];
        if(elemente.length == elemente[0].length)
        {
            for(int i=0;i<elemente.length;i++)
            {
                for (int j=0;j<elemente[i].length;j++)
                {
                    transponierte[j][i] = elemente[i][j];
                }
            }
        }
        else
        {
            System.out.println("Das Array ist nicht rechteckig!");
        }
    }


Das man dafür einfach en neues Array anlegt und ne verschachtelte for Schleife macht, ist klar, jedoch steht überall im Internet als Anweisung in der verschachtelten for Schleife nur:
Code:
transponierte[j][i] = elemente[i][j];


Und das alleine reicht definitiv nicht aus.

Aus

1 2
3 4

wird

1 3
2 4


Und dabei handelt es sich ja nicht um eine 90° Drehung...



Liebe Grüße
Tobi
 
Zuletzt bearbeitet:

Dekker

Bekanntes Mitglied
Ist dem nicht so??

So wurde es mir erklärt von unserem Tutor...

In der Aufgabenstellung steht was von Matrix transponieren...

Und er erklärte es so, dass es sich dabei um eine 90 Grad Drehung des gesamten Arrays handelt...

Äh ja, die Transponierte erhälst du indem du die Ursprungsmatrix "bildlich gesprochen" um 90grad drehst. Hier besteht das Missverständnis, dass es sich um ein konstrukt aus der graphischen Datenverarbeitung handelt. Du sagst es nämlich so das man denken könnte du meinst eine 90 grad Drehung um einen Punkt, praktisch eine Abbildung...
 

ToBe4minimal

Mitglied
Da hat man mir wohl was falsches erklärt??!!

Aufgabenstellung:
iv) Als transponierte Matrix wird die Matrix bezeichnet, deren Elemente so vertauscht wurden,
dass das Element mit dem Index i, j durch das Element mit dem Index j, i ersetzt wird. Dabei
wird die Matrix quasi um ihre Hauptdiagonale gekippt.


Wenn man die Aufgabenstellung so liest, scheint meine Lösung ja bereits doch richtig zu sein...

Sehe ich doch richtig, oder??

Aus

1 2
3 4

wird

1 3
2 4


Die Matrix wird um die Hauptdiagonale gekippt.

Stimmt doch, oder??
 
S

SlaterB

Gast
wenn man sie im Raum dreht, sind es aber 180 Grad ;)
ein Buch umklappen,
naja Wikipedia sagt alles, den Link zu ignorieren sagt auch etwas

edit:
> Die Matrix wird um die Hauptdiagonale gekippt.

> Stimmt doch, oder??

durchaus
 

ToBe4minimal

Mitglied
Äh ja, die Transponierte erhälst du indem du die Ursprungsmatrix "bildlich gesprochen" um 90grad drehst. Hier besteht das Missverständnis, dass es sich um ein konstrukt aus der graphischen Datenverarbeitung handelt. Du sagst es nämlich so das man denken könnte du meinst eine 90 grad Drehung um einen Punkt, praktisch eine Abbildung...

Er erklärte es so, dass aus

1 2
3 4

3 1
4 2

werden müsste.
Jedenfalls hatte ich es so verstanden.
Das entspräche für meine Begriffe einer 90° Drehung der gesamten Matrix.


Die Aufgabenstellung besagt meiner Ansicht nach aber etwas anderes.
 
S

SlaterB

Gast
soweit ich es zu dem Zeitpunkt beurteilt habe, was nicht richtig sein muss,
siehe z.B. noch das Posting nach meinem vorherigen, falls du das nicht sowieso schon machst und alles einzeln beantwortest ;)
 

ToBe4minimal

Mitglied
soweit ich es zu dem Zeitpunkt beurteilt habe, was nicht richtig sein muss,
siehe z.B. noch das Posting nach meinem vorherigen, falls du das nicht sowieso schon machst und alles einzeln beantwortest ;)

Ja sorry, ich mache das, damit es noch verständlich bleibt.


Doch, ich glaube wir verstehen uns richtig und ich glaube ich habe es auch richtig.

Die Aufgabenstellung ist ja folgende:
iv) Als transponierte Matrix wird die Matrix bezeichnet, deren Elemente so vertauscht wurden,
dass das Element mit dem Index i, j durch das Element mit dem Index j, i ersetzt wird. Dabei
wird die Matrix quasi um ihre Hauptdiagonale gekippt.


Mein Code macht mit meiner Matrix folgendes:

Aus

1 2
3 4

wird

1 3
2 4


Also für meine Begriffe sollten wir genau das tun.
 
S

SlaterB

Gast
dann passe wenigstens noch die Fehlermeldung an:
> System.out.println("Das Array ist nicht rechteckig!");

ein Array ist quasi immer rechteckig, alles andere ließe sich aus einem einfachen Vergleich gar nicht feststellen,
du meinst hier quadratisch oder nicht?

ob nicht-quadratische auch funktionieren sollen ist ja gerade der Punkt,
wenn du willst versuche das auch als Eingabe, dürften nur noch kleine Änderungen nötig sein, dann ginge das auch
 

ToBe4minimal

Mitglied
dann passe wenigstens noch die Fehlermeldung an:
> System.out.println("Das Array ist nicht rechteckig!");

ein Array ist quasi immer rechteckig, alles andere ließe sich aus einem einfachen Vergleich gar nicht feststellen,
du meinst hier quadratisch oder nicht?

ob nicht-quadratische auch funktionieren sollen ist ja gerade der Punkt,
wenn du willst versuche das auch als Eingabe, dürften nur noch kleine Änderungen nötig sein, dann ginge das auch


Ja ich weiss, dass diente praktisch erst einmal als Platzhalter.

Ich bin mir sogar sicher, dass nicht quadratische auch funktionieren sollen.

Ich überlege gerade, was ich in diesem Fall anders machen muss. ;)
 
Ähnliche Java Themen
  Titel Forum Antworten Datum
C Matrix transponieren - Hilfe Java Basics - Anfänger-Themen 1
V Matrix Transponieren Java Basics - Anfänger-Themen 3
O Transponieren einer Matrix per While-Schleife Java Basics - Anfänger-Themen 3
I matrix aufgabe Java Basics - Anfänger-Themen 22
L Zweidimensionaler Array; n x m - Matrix überprüfuen Java Basics - Anfänger-Themen 35
C Matrix mit Array ausgeben Java Basics - Anfänger-Themen 6
idontknow707 Matrix nach z.B. Variable durchsuchen Java Basics - Anfänger-Themen 4
F Adjunkte Matrix erstellen Java Basics - Anfänger-Themen 3
M Matrix Java Basics - Anfänger-Themen 3
F Matrix Multiplikation Java Basics - Anfänger-Themen 3
B Dünn besetzte Matrix Java Basics - Anfänger-Themen 7
Al3xand3r01 Matrix, Nachbarelemente Java Basics - Anfänger-Themen 16
E Rückwärtsmultiplikation einer invertierten matrix Java Basics - Anfänger-Themen 2
U Dreiecks-Matrix mit Array Java Basics - Anfänger-Themen 3
Z Matrix Klasse mit Mehrdimensionalen Array (Addition, Multiplikation, to String) Java Basics - Anfänger-Themen 57
E 2D Array - char durch die Matrix "wandern" lassen Java Basics - Anfänger-Themen 7
M Matrix auf 4 Elemente untersuchen mit offenen Enden Java Basics - Anfänger-Themen 8
B Diskrete Faltung (Matrix) Randfälle Java Basics - Anfänger-Themen 8
M Matrix Elemente vergleichen Java Basics - Anfänger-Themen 11
N Quadratische Matrix inkl Summe Java Basics - Anfänger-Themen 8
J Methoden Moving a n integer matrix Java Basics - Anfänger-Themen 3
D Methoden Matrix Multiplikation Java Basics - Anfänger-Themen 27
O Matrix, Vektor Java Basics - Anfänger-Themen 9
H 2D Array, Symmetrische Matrix Java Basics - Anfänger-Themen 12
S Matrix spaltenweise befüllen Java Basics - Anfänger-Themen 1
T Zufällige Matrix in neue Matrix schreiben Java Basics - Anfänger-Themen 6
C Matrix-Werte werden nicht wie erwartet ausgegeben Java Basics - Anfänger-Themen 7
C Matrix erstellen Spaltensumme, Zeilensumme, Diagonale Java Basics - Anfänger-Themen 1
S Methoden Transponierte Matrix Java Basics - Anfänger-Themen 3
N Vererbung Submatrix mit Verweis auf Matrix erstellen Java Basics - Anfänger-Themen 9
J Matrix erstellen Java Java Basics - Anfänger-Themen 7
B Transponiertes Matrix Java Basics - Anfänger-Themen 12
J Überprüfen, ob eine 2D Matrix ein Baum ist Java Basics - Anfänger-Themen 5
D Ausgabe einer Matrix mit System.out.println Java Basics - Anfänger-Themen 6
T Art 4 Felder Matrix Memory Java Basics - Anfänger-Themen 2
U Ist diese Methode zur Matrix Vektor Multiplikation korrekt ? Java Basics - Anfänger-Themen 5
L Matrix(Array) minimieren... Java Basics - Anfänger-Themen 9
E Matrix mit Vektor multiplizieren Java Basics - Anfänger-Themen 7
S eingegebene Matrix anzeigen Java Basics - Anfänger-Themen 4
J Matrix für Schachbrett Java Basics - Anfänger-Themen 6
G tga Datei lesen und in eine matrix umwandeln Java Basics - Anfänger-Themen 1
G Bilddaten in Matrix umwandeln Java Basics - Anfänger-Themen 1
T Eine String Matrix erstellen die eine boolean Funtion verwendet Java Basics - Anfänger-Themen 10
O Matrix Multiplizieren Java Basics - Anfänger-Themen 4
S LWJGL - Matrix vom Matrixstack laden Java Basics - Anfänger-Themen 3
T Matrix auf Symmetrie überprüfen Java Basics - Anfänger-Themen 6
V Methoden Matrix als 1D Array mit Werten füllen Java Basics - Anfänger-Themen 12
W Zweidimensionale Arrays als Matrix ausgeben Java Basics - Anfänger-Themen 8
R Matrix-Vektor-Multiplikation Java Basics - Anfänger-Themen 13
O Matrix ordnen Java Basics - Anfänger-Themen 4
M Symmetrische Matrix Java Basics - Anfänger-Themen 2
W Methoden Rang von einer Matrix mit Gauss Java Basics - Anfänger-Themen 0
U Matrix Subtrahieren Java Basics - Anfänger-Themen 12
E Input/Output convert string to two dimensional char and output = matrix Java Basics - Anfänger-Themen 2
A daten vom 1d array in 2d matrix speichern Java Basics - Anfänger-Themen 3
I Matrix überprüfen Java Basics - Anfänger-Themen 8
Z Matrix mit Vektor multiplizieren Java Basics - Anfänger-Themen 13
K Methoden Einlesen einer unbegrenzten Matrix über Konsole Java Basics - Anfänger-Themen 6
O Einlesen einer Matrix von der Console Java Basics - Anfänger-Themen 18
N Matrix/Vektoren Java Basics - Anfänger-Themen 3
N Matrix Java Basics - Anfänger-Themen 14
T Methode, die eine 2 dimensionale Matrix kopiert. Java Basics - Anfänger-Themen 16
J Matrix Java Java Basics - Anfänger-Themen 3
D 2 mehrdimensionale Matrix einlesen Java Basics - Anfänger-Themen 2
A N*N Matrix Determinante berechnen Java Basics - Anfänger-Themen 47
K Quadratische Matrix um 90° drehen Java Basics - Anfänger-Themen 5
C Programm zur Berechnung der Spur einer Matrix Java Basics - Anfänger-Themen 4
B Zeilenumbruch (zweidim. Matrix) Java Basics - Anfänger-Themen 2
O Java Matrix mal Matrix über while Schleife... Java Basics - Anfänger-Themen 10
M Matrix - Probelm Java Basics - Anfänger-Themen 7
O 2D Matrix befüllen mit geraden Zahlen!? Java Basics - Anfänger-Themen 14
J Java Matrix befüllen Java Basics - Anfänger-Themen 5
M Matrix Matrix Multiplikation Java Basics - Anfänger-Themen 6
F Matrix Java Basics - Anfänger-Themen 11
E Array als Matrix Java Basics - Anfänger-Themen 21
G OOP Parameter Matrix Java Basics - Anfänger-Themen 2
N Matrix Klasse Java Basics - Anfänger-Themen 4
B Maske an eine Matrix anpassen Java Basics - Anfänger-Themen 5
W Matrix übergeben Java Basics - Anfänger-Themen 7
W Eine Methode schreiben, ob eine Matrix eine Diagonalmatrix ist.? Java Basics - Anfänger-Themen 3
M String Datei in Float-Matrix umwandeln Java Basics - Anfänger-Themen 8
D Problem: Werte eine Matrix vergleichen! Java Basics - Anfänger-Themen 5
B Matrix Java Basics - Anfänger-Themen 2
Semox Matrix multiplizieren Java Basics - Anfänger-Themen 4
N Matrix an toString Java Basics - Anfänger-Themen 7
C Diagonale in einem NxN Matrix Java Basics - Anfänger-Themen 6
F Einträgen von Matrix zu sotieren Java Basics - Anfänger-Themen 2
D JUnit auf Matrix anwenden Java Basics - Anfänger-Themen 5
J Spezielle Matrix ausgeben ! Java Basics - Anfänger-Themen 8
S Problem bei Matrix Addition Java Basics - Anfänger-Themen 5
F matrix werte übergeben Java Basics - Anfänger-Themen 5
M Hauptdiagonale Matrix berechnen Java Basics - Anfänger-Themen 6
M Klassenerstellung für Matrix mit Rechenopperationen Java Basics - Anfänger-Themen 42
D Matrix .bat datei erstellen und öffnen Java Basics - Anfänger-Themen 2
J Matrix ausgeben Java Basics - Anfänger-Themen 9
N Matrix Matrix Produkt Java Basics - Anfänger-Themen 7
N prüfe ob etwas in einer Matrix steht... Java Basics - Anfänger-Themen 14
L rechtecke zeichnen anhand von matrix Java Basics - Anfänger-Themen 27
J Matrix aus Datei einlesen mit StreamTokenizer Java Basics - Anfänger-Themen 3
K Transponiere Matrix Java Basics - Anfänger-Themen 4

Ähnliche Java Themen

Neue Themen


Oben