Matrix transponieren - Hilfe

canyakan95

Bekanntes Mitglied
Hallo gegeben ist eine klasse , wo ich bei der methode transpose() aus der gegebenen matrix a die transponierte methode erstellen soll.

Hoffe ihr könnt mir da weiterhelfen..
Habe zwar was hingeschrieben , ist aber falsch...
Code:
package übung1;

public class Matrix
{
    private int[][] data;

    public Matrix(int[][] data)
    {
        this.data = data;
    }

    // Vorbedingung: anzZeilen > 0 und anzSpalten > 0
    public Matrix(int anzZeilen, int anzSpalten)
    {
        assert(anzZeilen > 0);
        assert(anzSpalten > 0);

        data = new int[anzZeilen][anzSpalten];
    }

    // Diese Methode wird f¸r die Aufgabenstellung nicht benˆtigt,
    // sondern dient der Verdeutlichung und Demonstration
    public void set(int[][] data)
    {
        int anzZeilen = data.length > this.data.length ?
            this.data.length : data.length;
        // Effiziente Form f¸r:
        // int anzZeilen;
        // if (data.length > this.data.length)
        // {
        //   anzZeilen = data.length;
        // }
        // else
        // {
        //   anzZeilen = this.data.length;
        // }

        int anzSpalten = data[0].length > this.data[0].length ?
            this.data[0].length : data[0].length;
        // Effiziente Form f¸r:
        // int anzSpalten;
        // if (data[0].length > this.data[0].length)
        // {
        //   anzSpalten = data[0].length;
        // }
        // else
        // {
        //   anzSpalten = this.data[0].length;
        // }

        for (int a = 0; a < anzZeilen; a++)
            for (int b = 0; b < anzSpalten; b++)
                this.data[a][b] = data[a][b];
    }

/** A.transpose():
*
*  A entspricht Matrix, die transponiert werden soll. (Die
*  zugehˆrigen Zahlen werden im Attribut 'data' gespeichert)
*
*  anzSpalten <- dim(A,1)  // Anzahl Spalten in transp. Matrix
*  anzZeilen <- dim(A,2)   // Anzahl Zeilen in transp. Matrix
*
*  B = create Matrix(anzZeilen, anzSpalten)
*
*  for a <- 1 to anzSpalten do
*    for b <- 1 to anzZeilen do
*      B[b,a] <- A[a,b]
*    end for
*  end for
*
*  return B
*/

    public Matrix transpose()
    {
        int anzSpalten= data[1].length;
        int anzZeilen=data[2].length;
       
        Matrix[][]  A = new Matrix[anzZeilen][anzSpalten];
       
        Matrix B = new Matrix (anzZeilen,anzSpalten);
       
        for(int a=1;a<anzSpalten;a++){
           
            for(int b=1;b<anzZeilen;b++){
               
               
                B= A[a][b];
            }
        }
       
        return B;
    }
 

JCODA

Top Contributor
Mh ja, ... schau dir das echt nochmal an, das sind echt Grundlagen, ... vielleicht etwa so:

Java:
public class Matrix {
    private int[][] data;

    public Matrix(int[][] data) {
        this.data = data;
    }

    // Vorbedingung: anzZeilen > 0 und anzSpalten > 0
    public Matrix(int anzZeilen, int anzSpalten) {
        assert (anzZeilen > 0);
        assert (anzSpalten > 0);

        data = new int[anzZeilen][anzSpalten];
    }

    // Diese Methode wird f¸r die Aufgabenstellung nicht benˆtigt,
    // sondern dient der Verdeutlichung und Demonstration
    public void set(int[][] data) {
        int anzZeilen = data.length > this.data.length ? this.data.length
                : data.length;
        // Effiziente Form f¸r:
        // int anzZeilen;
        // if (data.length > this.data.length)
        // {
        // anzZeilen = data.length;
        // }
        // else
        // {
        // anzZeilen = this.data.length;
        // }

        int anzSpalten = data[0].length > this.data[0].length ? this.data[0].length
                : data[0].length;
        // Effiziente Form f¸r:
        // int anzSpalten;
        // if (data[0].length > this.data[0].length)
        // {
        // anzSpalten = data[0].length;
        // }
        // else
        // {
        // anzSpalten = this.data[0].length;
        // }

        for (int a = 0; a < anzZeilen; a++)
            for (int b = 0; b < anzSpalten; b++)
                this.data[a][b] = data[a][b];
    }

    /**
     * A.transpose():
     *
     * A entspricht Matrix, die transponiert werden soll. (Die zugehˆrigen
     * Zahlen werden im Attribut 'data' gespeichert)
     *
     * anzSpalten <- dim(A,1) // Anzahl Spalten in transp. Matrix anzZeilen <-
     * dim(A,2) // Anzahl Zeilen in transp. Matrix
     *
     * B = create Matrix(anzZeilen, anzSpalten)
     *
     * for a <- 1 to anzSpalten do for b <- 1 to anzZeilen do B[b,a] <- A[a,b]
     * end for end for
     *
     * return B
     */

    public Matrix transpose() {
        int anzSpalten = data.length;
        int anzZeilen = data[0].length;
        Matrix B = new Matrix(anzZeilen, anzSpalten);
        for (int a = 0; a < anzSpalten; a++) {
            for (int b = 0; b < anzZeilen; b++) {
                B.data[b][a] = data[a][b];
            }
        }
        return B;
    }

   
@Override
    public String toString() {
        StringBuilder sb = new StringBuilder();
        for (int a = 0; a < data.length; a++) {
            for (int b = 0; b < data[0].length; b++){
                sb.append("\t" + data[a][b]);
            }
            if(a!=data.length)
            sb.append("\n");
        }
        return sb.toString();
    }
}

Und noch eine kleine Testklasse:
Java:
public class TestMatrix {
    public static void main(String[] args) {
        Matrix m = new Matrix(new int[][]{{1,2,3},{4,5,6}});
        System.out.print(m);      
        System.out.println("~~~~~~~~~~~~~~~~~~~~~~~~~");      
        System.out.print(m.transpose());
        System.out.println("~~~~~~~~~~~~~~~~~~~~~~~~~");  
        System.out.print(m.transpose().transpose());
    }
}
 
Ähnliche Java Themen
  Titel Forum Antworten Datum
V Matrix Transponieren Java Basics - Anfänger-Themen 3
O Transponieren einer Matrix per While-Schleife Java Basics - Anfänger-Themen 3
T Matrix transponieren Java Basics - Anfänger-Themen 17
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