Chuyển vị của ma trận thu được bằng cách thay đổi hàng thành cột và cột thành hàng. Nói cách khác, chuyển vị của A[][] có được bằng cách thay đổi A[i][j] thành A[j][i].
Đối với ma trận vuông. Chương trình dưới đây tìm chuyển vị của A[][] và lưu kết quả vào B[][], chúng ta có thể thay đổi N cho các chiều khác nhau.
Python3
Result matrix is 1 2 3 1 2 3 1 2 3 1 2 31
Result matrix is 1 2 3 1 2 3 1 2 3 1 2 32
Result matrix is 1 2 3 1 2 3 1 2 3 1 2 33____24
Result matrix is 1 2 3 1 2 3 1 2 3 1 2 35
Result matrix is 1 2 3 1 2 3 1 2 3 1 2 36
Result matrix is 1 2 3 1 2 3 1 2 3 1 2 37
Result matrix is 1 2 3 1 2 3 1 2 3 1 2 30
Result matrix is 1 2 3 1 2 3 1 2 3 1 2 31
Result matrix is 1 2 3 1 2 3 1 2 3 1 2 32
Result matrix is 1 2 3 1 2 3 1 2 3 1 2 33
Result matrix is 1 2 3 1 2 3 1 2 3 1 2 34
Result matrix is 1 2 3 1 2 3 1 2 3 1 2 35
Result matrix is 1 2 3 1 2 3 1 2 3 1 2 36
Result matrix is 1 2 3 1 2 3 1 2 3 1 2 37
Result matrix is 1 2 3 1 2 3 1 2 3 1 2 38
Result matrix is 1 2 3 1 2 3 1 2 3 1 2 33
Result matrix is 1 2 3 1 2 3 1 2 3 1 2 300
Result matrix is 1 2 3 1 2 3 1 2 3 1 2 35
Result matrix is 1 2 3 1 2 3 1 2 3 1 2 36
Result matrix is 1 2 3 1 2 3 1 2 3 1 2 37
________ 104 ________ 105 ________ 24 ________ 107
Result matrix is 1 2 3 1 2 3 1 2 3 1 2 308
Result matrix is 1 2 3 1 2 3 1 2 3 1 2 309
Result matrix is 1 2 3 1 2 3 1 2 3 1 2 34
Result matrix is 1 2 3 1 2 3 1 2 3 1 2 311_______212
Result matrix is 1 2 3 1 2 3 1 2 3 1 2 313
Result matrix is 1 2 3 1 2 3 1 2 3 1 2 312
Result matrix is 1 2 3 1 2 3 1 2 3 1 2 313
Result matrix is 1 2 3 1 2 3 1 2 3 1 2 312
Result matrix is 1 2 3 1 2 3 1 2 3 1 2 313
Result matrix is 1 2 3 1 2 3 1 2 3 1 2 312
Result matrix is 1 2 3 1 2 3 1 2 3 1 2 319
Chuyển vị của ma trận là một ma trận khác trong đó ma trận được lật dọc theo trục chéo của nó. Điều này có nghĩa là mỗi hàng của ma trận biến thành một cột trong ma trận kết quả
Transpose là một hoạt động thực sự phổ biến được thực hiện trên một ma trận
Dưới đây là minh họa về phép chuyển vị của ma trận 3 x 3
Lưu ý rằng ma trận không cần phải là ma trận vuông [chẳng hạn như 3 x 3] để được chuyển vị. Bạn cũng có thể chuyển đổi ma trận 2 x 4 hoặc ma trận 5 x 2
Tiếp theo, hãy triển khai thuật toán chuyển đổi ma trận với Python
Thuật toán chuyển vị ma trận
Chuyển vị một ma trận rất dễ mô tả đối với người có giấy và bút
Biến mỗi hàng thành một cột
Tuy nhiên, khi đưa ra hướng dẫn cho máy tính, điều đó không dễ dàng chút nào.
Một chương trình máy tính chuyển đổi ma trận cần lặp qua từng hàng của ma trận, chọn từng phần tử và đặt nó vào một vị trí trong mảng kết quả
Mô tả chung về thuật toán chuyển vị ma trận dưới dạng mã giả như sau
- Chỉ định mảng 2D A[M][N], đại diện cho ma trận M x N
- Khai báo một mảng 2D khác T để lưu kết quả của phép chuyển vị có kích thước N x M [đảo ngược so với mảng ban đầu. ]
- Lặp qua mảng 2D ban đầu và chuyển đổi các hàng của nó thành các cột của ma trận T
- Khai báo 2 biến i và j
- Đặt i, j = 0
- Lặp lại cho đến khi i < M
- Đặt j = 0
- Lặp lại cho đến khi j < N
- T[i][j] = A[j][i]
- j = j + 1
- tôi = tôi + 1
- Hiển thị ma trận kết quả T
Với thông tin này, hãy triển khai thuật toán chuyển đổi ma trận trong Python
Result matrix is 1 2 3 1 2 3 1 2 3 1 2 39
đầu ra
Result matrix is 1 2 3 1 2 3 1 2 3 1 2 30
Bây giờ bạn đã hiểu chuyển vị ma trận là gì và cách tạo một chương trình Python để tìm một ma trận, hãy xem cách thực hiện dễ dàng hơn
Cách chuyển đổi ma trận với NumPy
Trong NumPy, ma trận thường được biểu thị dưới dạng mảng 2D, trong đó mỗi mảng bên trong biểu thị một hàng của ma trận
Tuy nhiên, chuyển đổi ma trận là một hoạt động phổ biến đến mức một mảng NumPy có chức năng tích hợp sẵn cho nó