Rumah >pembangunan bahagian belakang >Tutorial Python >Lingkaran ajaib NumPy: mendedahkan teknologi hitam pemprosesan data
Definisi bulatan ajaib
Matriks ajaib ialah matriks n x n segi empat sama di mana jumlah nombor dalam setiap baris, lajur dan pepenjuru adalah sama. Pemalar ini dipanggil jumlah ajaib. Contohnya, bulatan ajaib 3 x 3 kelihatan seperti ini:
816 357 492
Jumlah ajaib bulatan ajaib ini ialah 15, dan jumlah nombor dalam baris, lajur dan pepenjurunya ialah 15.
Buat tatasusunan ajaib dalam NumPy
NumPy menyediakan fungsi kemudahan yang dipanggil numpy.mgrid
yang boleh digunakan untuk mencipta bulatan ajaib. Fungsi ini mencipta grid nombor sekata yang kemudiannya boleh dimanipulasi untuk menghasilkan bulatan ajaib.
Berikut ialah kod untuk mencipta bulatan ajaib 3 x 3 menggunakan NumPy:
import numpy as np # 创建一个 3 x 3 的网格,数字范围为 1-9 grid = np.mgrid[1:4, 1:4] # 计算网格每个位置的距离矩阵 dists = np.abs(grid[0] - grid[1]) # 创建一个布尔掩码,将与对角线相距 1 的位置标记为 True mask = (dists == 1) | np.eye(3, dtype=bool) # 根据掩码对网格进行索引,得到魔法阵 magic_square = grid[mask]
Menjalankan kod ini akan menghasilkan bulatan ajaib berikut:
816 357 492
Sifat matematik bulatan ajaib
Lingkaran ajaib mempunyai banyak sifat matematik yang menarik, termasuk:
Apl
Tatasusunan ajaib digunakan secara meluas dalam pelbagai bidang, termasuk:
Kesimpulan
Fungsi bulatan ajaib NumPy menyediakan alat yang berkuasa untuk pemprosesan data dan penerokaan matematik. Ia membolehkan pembangun mencipta matriks segi empat sama dengan sifat ajaib dengan mudah, dengan itu membuka kunci pelbagai aplikasi dan kemungkinan.
Atas ialah kandungan terperinci Lingkaran ajaib NumPy: mendedahkan teknologi hitam pemprosesan data. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!