Golang est un langage de programmation open source. Son efficacité et sa concurrence le rendent puissant. L'exploitation des matrices dans Golang est une tâche importante. Cet article explique comment implémenter la conversion matricielle dans Golang.
Une matrice est un tableau mathématique rectangulaire contenant un ou plusieurs éléments numériques. Dans Golang, nous pouvons utiliser l'imbrication de tranches pour représenter des matrices. Par exemple, une matrice 2×2 peut être représentée par m := [][]float64{{1,2},{3,4}}.
Matrix transpose consiste à échanger les lignes et les colonnes de la matrice. Dans Golang, nous pouvons parcourir la matrice par des boucles for imbriquées, puis transposer les éléments aux positions correspondantes pour obtenir une transposition matricielle.
func transpose(m [][]float64) [][]float64 {
rows := len(m) cols := len(m[0]) result := make([][]float64, cols) for i := range result { result[i] = make([]float64, rows) } for i := 0; i < rows; i++ { for j := 0; j < cols; j++ { result[j][i] = m[i][j] } } return result
}
Dans le code ci-dessus, nous définissons d'abord le nombre de lignes et de colonnes de la matrice, et créons une nouvelle matrice avec pour stocker la matrice transposée. Ensuite, nous utilisons une boucle for imbriquée pour parcourir la matrice d'origine, stocker les éléments aux positions correspondantes dans les positions correspondantes dans la nouvelle matrice et enfin renvoyer le résultat.
La rotation de la matrice consiste à faire pivoter la matrice dans le sens des aiguilles d'une montre ou dans le sens inverse d'un certain angle. Dans Golang, nous pouvons réaliser une rotation matricielle grâce à la transposition matricielle et à l'inversion de ligne ou de colonne.
func rotateClockwise(m [][]float64) [][]float64 {
result := transpose(m) for i := range result { for j := range result[i] { result[i][j], result[i][len(result[i])-1-j] = result[i][len(result[i])-1-j], result[i][j] } } return result
}
Dans le code ci-dessus, nous appelons d'abord la fonction de transposition pour obtenir la matrice transposée, puis inversons chaque changement de ligne. Enfin, renvoyez la matrice pivotée.
Cet article présente comment implémenter la transposition matricielle et la rotation matricielle dans Golang. Dans le développement réel, les opérations matricielles sont très pratiques, il est donc extrêmement nécessaire que les programmeurs Golang maîtrisent la technologie des opérations matricielles.
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!