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