Rumah > pembangunan bahagian belakang > Golang > Bagaimana untuk melaksanakan transformasi matriks di Golang

Bagaimana untuk melaksanakan transformasi matriks di Golang

PHPz
Lepaskan: 2023-04-10 15:09:29
asal
687 orang telah melayarinya

Golang ialah bahasa pengaturcaraan sumber terbuka Kecekapan dan kesesuaiannya menjadikannya berkuasa. Mengendalikan matriks di Golang adalah tugas penting Artikel ini akan memperkenalkan cara melaksanakan penukaran matriks di Golang.

  1. Apakah itu matriks

Matriks ialah jadual matematik segi empat tepat yang mengandungi satu atau lebih unsur berangka. Di Golang, kita boleh menggunakan sarang hirisan untuk mewakili matriks. Contohnya, matriks 2×2 boleh diwakili sebagai m := [][]float64{{1,2},{3,4}}.

  1. Matriks transpose

Matriks transpose adalah untuk menukar baris dan lajur matriks. Di Golang, kita boleh melintasi matriks dengan bersarang untuk gelung, dan kemudian menukar elemen pada kedudukan yang sepadan untuk mencapai transposisi matriks.

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
Salin selepas log masuk

}

Dalam kod di atas, kami mula-mula mentakrifkan matriks Nombor baris dan lajur dan mencipta matriks baharu untuk menyimpan matriks terpindah. Kemudian kami menggunakan gelung bersarang untuk melintasi matriks asal, menyimpan elemen pada kedudukan yang sepadan dalam kedudukan yang sepadan dalam matriks baharu, dan akhirnya mengembalikan hasilnya.

  1. Putaran matriks

Putaran matriks ialah memutar matriks mengikut arah jam atau lawan jam mengikut sudut tertentu. Di Golang, kita boleh mencapai putaran matriks melalui transpose matriks dan penyongsangan baris atau lajur.

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
Salin selepas log masuk

}

Dalam kod di atas, kita mula-mula memanggil fungsi transpose Get matriks terpindah dan kemudian terbalikkan setiap baris. Akhir sekali, kembalikan matriks yang diputar.

  1. Ringkasan

Artikel ini memperkenalkan cara melaksanakan transpos matriks dan putaran matriks di Golang. Dalam pembangunan sebenar, operasi matriks sangat praktikal, jadi pengaturcara Golang amat diperlukan untuk menguasai teknologi operasi matriks.

Atas ialah kandungan terperinci Bagaimana untuk melaksanakan transformasi matriks di Golang. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

sumber:php.cn
Kenyataan Laman Web ini
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan