Транспонированная матрица

Innen: testwiki
Ugrás a navigációhoz Ugrás a kereséshez

Sablon:Rusf

  1. Sablon:Rumatek mátrix transzponáltja

Транспонированная матрица: 📌 Транспонирование матрицы: – это операция, при которой строки и столбцы меняются местами.

Если дана матрица A: размером m×n, то её транспонированная матрица AT: будет размером n×m.

Пример транспонирования
Пусть дана матрица A: A=[123456] Транспонируем её (меняем строки и столбцы местами):

AT=[142536]

🔹 Что произошло?: - Первая строка (1,2,3): стала первым столбцом. - Вторая строка (4,5,6): стала вторым столбцом.

Общее определение
Если матрица A имеет элементы aij, то её транспонированная матрица AT имеет элементы ajiT:

(AT)ji=Aij

То есть aij превращается в aji.

Свойства транспонирования
Дважды транспонирование возвращает исходную матрицу: (AT)T=AТранспонирование суммы: (A+B)T=AT+BTТранспонирование произведения: (перемножение меняет порядок матриц): (AB)T=BTATТранспонирование единичной матрицы: даёт саму себя: IT=I

Применение в реальной жизни
Линейная алгебра: – операции с матрицами. ✅ Компьютерная графика: – вращение изображений. ✅ Искусственный интеллект: – обработка данных. ✅ Физика и механика: – преобразования координат.

Программа на C++ для транспонирования матрицы

#include <iostream>
using namespace std;

void transposeMatrix(int matrix[][3], int rows, int cols) {
    int transposed[3][2]; // Создаём новую матрицу с поменянными размерами

    for (int i = 0; i < rows; i++) {
        for (int j = 0; j < cols; j++) {
            transposed[j][i] = matrix[i][j]; // Меняем строки на столбцы
        }
    }

    // Вывод транспонированной матрицы
    cout << "Транспонированная матрица:" << endl;
    for (int i = 0; i < cols; i++) {
        for (int j = 0; j < rows; j++) {
            cout << transposed[i][j] << " ";
        }
        cout << endl;
    }
}

int main() {
    int matrix[2][3] = { {1, 2, 3}, {4, 5, 6} };
    
    cout << "Исходная матрица:" << endl;
    for (int i = 0; i < 2; i++) {
        for (int j = 0; j < 3; j++) {
            cout << matrix[i][j] << " ";
        }
        cout << endl;
    }

    transposeMatrix(matrix, 2, 3);

    return 0;
}

Выход программы:

Исходная матрица:
1 2 3
4 5 6

Транспонированная матрица:
1 4
2 5
3 6

Вывод
🔹 Транспонированная матрица: – это матрица, в которой строки становятся столбцами. 🔹 Используется в линейной алгебре, анализе данных, машинном обучении. 🔹 Операция проста, но имеет важные свойства: для матричных вычислений. 🚀

Sablon:Rusl