Zielony Smok - logo witryny

Transpozycja macierzy (Java)

Transpozycja macierzy to zamiana wierszy z kolumnami (pierwszy wiersz z pierwszą kolumną, drugi wiersz z drugą kolumną, etc). Wartości leżące na przekątnej głównej nie zmieniają się.

Mamy tablicę:

Transpozycja macierzy

Po transpozycji otrzymujemy:

Transpozycja macierzy

Jeśli transponujemy macierz wierszową:

Transpozycja macierzy

to otrzymamy macierz kolumnową:

Transpozycja macierzy

i odwrotnie.

Transpozycje możemy wykonać przy użyciu metody transpose z klasy Matrix.

  public void transpose() {
        double[][] temp = new double[getColCount()][getRowCount()];
        for (int i = 0; i < getRowCount(); i++) {
            for (int j = 0; j < getColCount(); j++) {
                temp[j][i] = getArray()[i][j];
            }
        }
        setArray(temp);
    }

W działaniach na macierzach macierz transponowaną oznacza się jako AT.

Przykład w klasie Matrix023.

Jak widzimy w przypadku macierzy, które nie są kwadratowe, przy transpozycji zamianie ulegają również wymiary
macierzy.

Właściwości transpozycji

Transpozycja macierzy

Transpozycja macierzy (n – jest wartością skalarną)

Transpozycja macierzy

transpozycja macierzy

Transpozycja macierzy

Transpozycja macierzy

Przykład

Transpozycja macierzy

Ten przykład jest obliczony w klasie Matrix026.

Przykład 2

Transpozycja macierzy

Jak widzimy Transpozycja macierzy

Ten przykład obliczony jest w klasie Matrix085.

Pliki do ściągnięcia

matrices011.zip

Moduł matrices – aktualny stan projektu = 011;