Golang은 효율성과 동시성이 강력한 오픈 소스 프로그래밍 언어입니다. Golang에서 행렬을 연산하는 것은 중요한 작업입니다. 이 글에서는 Golang에서 행렬 변환을 구현하는 방법을 소개합니다.
행렬은 하나 이상의 숫자 요소를 포함하는 직사각형 수학 표입니다. Golang에서는 슬라이스 중첩을 사용하여 행렬을 나타낼 수 있습니다. 예를 들어, 2×2 행렬은 m := [][]float64{{1,2},{3,4}}로 표현될 수 있습니다.
행렬 전치는 행렬의 행과 열을 바꾸는 것입니다. Golang에서는 중첩된 for 루프를 통해 행렬을 순회한 다음 해당 위치의 요소를 전치하여 행렬 전치를 달성할 수 있습니다.
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
}
위 코드에서는 먼저 행렬의 행과 열 수를 정의하고 새 행렬을 만들어 저장합니다. 전치된 행렬. 그런 다음 중첩된 for 루프를 사용하여 원래 행렬을 순회하고 새 행렬의 해당 위치에 해당 위치에 요소를 저장하고 마지막으로 결과를 반환합니다.
행렬 회전은 행렬을 시계 방향 또는 시계 반대 방향으로 특정 각도만큼 회전시키는 것입니다. Golang에서는 행렬 전치 및 행 또는 열 반전을 통해 행렬 회전을 달성할 수 있습니다.
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
}
위 코드에서는 먼저 전치 함수를 호출하여 전치된 행렬을 얻은 다음 각 행 변경 내용을 반전합니다. 마지막으로 회전된 행렬을 반환합니다.
이 글에서는 Golang에서 행렬 전치 및 행렬 회전을 구현하는 방법을 소개합니다. 실제 개발에서 행렬 연산은 매우 실용적이므로 Golang 프로그래머가 행렬 연산 기술을 마스터하는 것이 매우 필요합니다.
위 내용은 Golang에서 행렬 변환을 구현하는 방법의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!