Transpose 
Chuyển vị ma trận. Đảo ngược hoặc hoán đổi các trục của ma trận; trả về ma trận đã được sửa đổi.
cpp
matrix matrix::Transpose()1
Giá trị trả về 
Ma trận đã được chuyển vị.
Thuật toán chuyển vị ma trận đơn giản trong MQL5:
cpp
matrix MatrixTranspose(const matrix& matrix_a)
  {
   matrix matrix_c(matrix_a.Cols(),matrix_a.Rows());
 
   for(ulong i=0; i<matrix_c.Rows(); i++)
      for(ulong j=0; j<matrix_c.Cols(); j++)
         matrix_c[i][j]=matrix_a[j][i];
 
   return(matrix_c);
  }1
2
3
4
5
6
7
8
9
10
2
3
4
5
6
7
8
9
10
Ví dụ MQL5:
cpp
  matrix a= {{0, 1, 2}, {3, 4, 5}};
  Print("matrix a \n", a);
  Print("a.Transpose() \n", a.Transpose());
 
  /*
  matrix a
  [[0,1,2]
   [3,4,5]]
  a.Transpose()
  [[0,3]
   [1,4]
   [2,5]]
  */1
2
3
4
5
6
7
8
9
10
11
12
13
2
3
4
5
6
7
8
9
10
11
12
13
Ví dụ Python:
cpp
import numpy as np
 
a = np.arange(6).reshape((2,3))
print("a \n",a)
print("np.transpose(a) \n",np.transpose(a))
 
a 
 [[0 1 2]
 [3 4 5]]
np.transpose(a) 
 [[0 3]
 [1 4]
 [2 5]]1
2
3
4
5
6
7
8
9
10
11
12
13
2
3
4
5
6
7
8
9
10
11
12
13
