Matrix Aufgabe

mamir00

Mitglied
HI
Ich hab ein aufgabe ,die ich es bis morgen fertig machen soll aber leider irgendwie komme ich es nicht so gut klar wie soll ich der befehl getrow schreiben .
7 // gibt die Anzahl der Zeilen zurueck
8 public static int getNRows(Matrix a){

}
9
10 // gibt die Anzahl der Spalten zurueck
11 public static int getNColumns(Matrix a)
12
was ist der befehl ?kann jemand mir damit mir helfen ?

danke
 

krgewb

Top Contributor
Bitte immer in code-Tags posten.
Java:
// gibt die Anzahl der Zeilen zurueck
public static int getNRows(Matrix a) {
  
}

// gibt die Anzahl der Spalten zurueck
public static int getNColumns(Matrix a) {

}
 

coffeebean

Mitglied
Also mit
Java:
System.out.println()
kannst du etwas ausgeben und mit
Java:
length
bekommst du die Länge von nem Array. Falls das deine Frage war.
Kannst du ansonsten etwa weiter ausführen, wie fhoffmann bereits gesagt hat?
 

mamir00

Mitglied
Also mit
Java:
System.out.println()
kannst du etwas ausgeben und mit
Java:
length
bekommst du die Länge von nem Array. Falls das deine Frage war.
Kannst du ansonsten etwa weiter ausführen, wie fhoffmann bereits gesagt hat?
Java:
public class Matrix{
 double[][] array;

 // initalisiert Matrix mit row Zeilen und colum Spalten. Alle Werte werden auf 0
//initalisiert.
 public static void init(Matrix a, int row, int column){
    for(int i=0; i<rows;i++){
        for(int j=0; j<columns;j++){
        twoD[i][j]=sc.nextInt();
        }
    }
            
}

 // gibt die Anzahl der Zeilen zurueck
 public static int getNRows(Matrix a){
    int rows=x.length;
    return(rows);
}

 // gibt die Anzahl der Spalten zurueck
 public static int getNColumns(Matrix a){
    int columns=x[0].length;
    return(columns) ;
}


 // gibt die Matrix aus
 public static void print(Matrix a){
    
    System.out.print(x[i][j]+"   ");
}
System.out.println();
}
System.out.println("----------------");
}

 // multipliziert Matrix A(NxM) mit Matrix B(QxR). Wenn M ungleich Q ist, wird
//eine Fehlermeldung ausgegeben.
 public static Matrix mult(Matrix a, Matrix b){
    static double ip (double [][] a, double [][] b, int zeile, int spalte){
        double ip=0;
        
        ip = a[zeile][0]*b[0][spalte]+a[zeile][1]*b[1][spalte]+a[zeile][2]*b[2][spalte];
        
        return(ip);
    }
    
        
        for(int i=0;i<l;i++){
            for (int j=0;j<n;j++){
                c[i][j] = ip(a,b,i,j);
            }
            
        }
        
    
}

 // berechnet die Determinante einer 3x3 Matrix
 public static double det(Matrix a){
    x=(matrix[0][0] * (matrix[1][1] * matrix[2][2] - matrix[1][2] * matrix[2][1]));

    y=(matrix[0][1] * (matrix[1][0] * matrix[2][2] - matrix[1][2] * matrix[2][0]));
    
    z=(matrix[0][2] * (matrix[1][0] * matrix[2][1]- matrix[1][1] * matrix[2][0]));
    
    det(Matrix a)= x - y + z;
 }

 // berechnet die Transponierte einer NxN Matrix
 public static Matrix transpose(Matrix a){
    Matrix a = new Matrix(N, M);
    for (int i = 0; i < M; i++)
        for (int j = 0; j < N; j++)
            A.data[j][i] = in.data[i][j];
    return a;
}


 // berechnet die Untermatrix, in dem Zeile exclRow und Spalte exclCol entfernt
//wurden
 public static Matrix subMatrix(Matrix a, int exclRow, int exclCol){


 }

 // berechnet die Adjungierte einer 3x3 Matrix
 public static Matrix adjoint(Matrix a)

 // berechnet die Inverse einer 3x3 Matrix
 public static Matrix inverse(Matrix a){
    int i, j;
    float det = 0;
    float mat[][] = new float[3][3];
    
    Scanner sc = new Scanner(System.in);
    
    System.out.println("Enter elements of matrix row wise:");
    for(i = 0; i < 3; ++i)
        for(j = 0; j < 3; ++j)
            mat[i][j] = sc.nextFloat();
    
    for(i = 0; i < 3; i++)
        det = det + (mat[0][i] * (mat[1][(i+1)%3] * mat[2][(i+2)%3] - mat[1][(i+2)%3] * mat[2][(i+1)%3]));
    
    System.out.println("\ndeterminant = " + det);
            
    System.out.println("\nInverse of matrix is:");
    for(i = 0; i < 3; ++i) {
        for(j = 0; j < 3; ++j)
            System.out.print((((mat[(j+1)%3][(i+1)%3] * mat[(j+2)%3][(i+2)%3]) - (mat[(j+1)%3][(i+2)%3] * mat[(j+2)%3][(i+1)%3]))/ det) + " ");
        
        System.out.print("\n");
    }
}
}
 }
}
ich bin jetzt so weit .mein frage ist jetzt wie kann ich untermatrix berechnen ?
 

Kirby.exe

Top Contributor
ich soll (berechnet die Untermatrix, in dem Zeile exclRow und Spalte exclCol entfernt wurden)
public static Matrix subMatrix(Matrix a, int exclRow, int exclCol)
.....machen .😭
Wenn du nur eine Zeile und eine Spalte entfernen sollst, dann ist das recht simpel :) nun stellt sich nur die Frage:

sollst du die matrix speichern oder nur diese zeile und spalte ausgeben?
 

Kirby.exe

Top Contributor
ich soll es speichern denke ich .
Dann musst du eine neue Matrix erstellen. Sprich das interne array muss um eine zeile und um eine spalte verkürzt werden ;)

Nun iterierst du mit zwei geschachtelten Schleifen über dein Array und musst prüfen ob du dich in der zu löschenden Zeile oder zu löschende Spalte befindest und musst hier zur nächsten Iteration springen mit einem continue ;)
 

Neue Themen


Oben