Rumah >pembangunan bahagian belakang >Tutorial Python >Tambahkan dimensi tersuai pada matriks menggunakan Python
Matriks ialah struktur data asas dalam algebra linear dan digunakan secara meluas dalam pelbagai pengiraan saintifik dan matematik. Matriks ialah susunan nombor segi empat tepat yang disusun dalam baris dan lajur. Ia biasanya diwakili sebagai grid dua dimensi. Walau bagaimanapun, dalam beberapa kes kita mungkin perlu memanipulasi matriks dengan dimensi tambahan untuk melaksanakan transformasi data atau melaksanakan operasi matematik lanjutan.
Sebagai bahasa pengaturcaraan yang serba boleh, Python menyediakan ekosistem perpustakaan yang kaya yang menyediakan alatan berkuasa untuk operasi matriks. Salah satu perpustakaan tersebut ialah NumPy, yang bermaksud Numerical Python. NumPy menyediakan alatan yang cekap dan mudah untuk bekerja dengan tatasusunan, termasuk matriks, dan pelbagai fungsi matematik.
Sebelum kami meneruskan pelaksanaan, mari pastikan anda telah memasang NumPy pada komputer anda. Jika anda belum memasangnya lagi, anda boleh memasangnya dengan mudah menggunakan pip pemasang pakej Python dengan menjalankan arahan berikut -
pip install numpy
Selepas memasang NumPy, kami boleh terus mencipta dan mengubah suai matriks.
Seterusnya, kami akan mencipta matriks menggunakan fungsi numpy.array. Ini adalah contoh -
matrix = np.array([[1, 2, 3], [4, 5, 6], [7, 8, 9]])Fungsi
array menerima senarai bersarang sebagai hujah, dengan setiap senarai mewakili baris dalam matriks. Dalam contoh kami, kami mempunyai matriks 3x3.
Untuk menambah dimensi tersuai pada matriks, kita boleh menggunakan sifat numpy.newaxis. Atribut newaxis membolehkan kita meningkatkan dimensi matriks sedia ada dengan satu dimensi. Mari lihat bagaimana ia berfungsi −
new_matrix = matrix[:, np.newaxis]
Dalam kod di atas, [:,np.newaxis] menambah dimensi baharu pada matriks kami dengan memasukkan paksi baharu pada kedudukan kedua. Titik bertindih: bermaksud semua baris, np.newaxis bermaksud tempat paksi baharu harus dimasukkan. Operasi ini dengan berkesan menukarkan matriks dua dimensi asal kepada matriks tiga dimensi.
Mari cetak matriks asal dan matriks baharu untuk melihat perubahan -
print("Original Matrix:") print(matrix) print("\nNew Matrix:") print(new_matrix)
Menjalankan kod akan menghasilkan output berikut−
Original Matrix: [[1 2 3] [4 5 6] [7 8 9]] New Matrix: [[[1 2 3]] [[4 5 6]] [[7 8 9]]]
Seperti yang anda boleh lihat, matriks baru mempunyai satu lagi dimensi berbanding dengan matriks asal. Setiap baris matriks asal kini terkandung dalam tatasusunan dalamannya sendiri. Ini secara berkesan meningkatkan dimensi matriks. Menambah dimensi tersuai berguna dalam senario di mana anda perlu melakukan operasi yang memerlukan matriks dimensi lebih tinggi, seperti algoritma pembelajaran mesin lanjutan atau pengiraan tensor.
Apabila menambahkan dimensi tersuai pada matriks dalam NumPy, konsep penting untuk difahami ialah penyiaran. Penyiaran ialah mekanisme berkuasa dalam NumPy yang membenarkan tatasusunan bentuk yang berbeza dikendalikan bersama. Apabila menambahkan dimensi tersuai pada matriks, penyiaran boleh melaraskan secara automatik bentuk tatasusunan yang terlibat dalam pengiraan.
Mari kita pertimbangkan contoh untuk menunjukkan penyiaran -
matrix1 = np.array([[1, 2, 3], [4, 5, 6]]) matrix2 = np.array([10, 20, 30])
Dalam kod di atas, kami mempunyai matriks 2x3 (matriks1) dan tatasusunan 1D (matriks2). Jika kita ingin menambah matriks2 pada setiap baris matriks1 kita boleh menggunakan + operator − p>
result = matrix1 + matrix2
Keluaran akan menjadi −
[[11 22 33] [14 25 36]]
Dalam contoh ini, NumPy menyiarkan secara automatik matriks satu dimensi 2 untuk memadankan bentuk matriks 1, membolehkan penambahan mengikut unsur dilakukan.
Selain menambah dimensi tersuai pada matriks 2D, anda juga boleh menambah dimensi tersuai pada matriks dimensi yang lebih tinggi. Prosesnya tetap sama; anda hanya tentukan lokasi paksi baharu yang dikehendaki.
Mari kita pertimbangkan contoh matriks 3D −
matrix3d = np.array([[[1, 2, 3], [4, 5, 6]], [[7, 8, 9], [10, 11, 12]]])
Andaikan kita ingin menambah dimensi baharu pada penghujung matriks tiga dimensi di atas. Kita boleh menggunakan sifat np.newaxis dengan cara yang sama:
new_matrix3d = matrix3d[..., np.newaxis]
Dalam kod di atas, gunakan... untuk mewakili semua dimensi sedia ada dan masukkan np.newaxis pada penghujungnya. Ini akan menghasilkan matriks 4 dimensi.
Menambah dimensi tersuai biasanya berkaitan dengan pembentukan semula matriks. NumPy menyediakan fungsi bentuk semula yang membolehkan anda menukar bentuk matriks, termasuk menambah atau mengalih keluar dimensi. Fungsi ini mudah apabila anda perlu memanipulasi struktur matriks.
Berikut ialah contoh cara membentuk semula matriks dan menambah dimensi tersuai -
matrix = np.array([[1, 2, 3], [4, 5, 6]]) reshaped_matrix = matrix.reshape((2, 3, 1))
Dalam kod di atas, fungsi bentuk semula digunakan untuk menukar bentuk matriks kepada (2, 3, 1). Dimensi yang ditambahkan pada penghujung sepadan dengan dimensi tersuai yang ingin kami tambahkan.
Dalam artikel ini, kami meneroka konsep lain yang berkaitan dengan menambahkan dimensi tersuai pada matriks menggunakan Python dan NumPy. Kami membincangkan penyiaran, yang membolehkan tatasusunan bentuk berbeza dimanipulasi bersama-sama, dan melihat cara ia boleh berguna apabila melakukan pengiraan pada matriks dengan dimensi tambahan.
Kami juga membincangkan cara menambahkan dimensi tersuai pada matriks dengan dimensi yang lebih tinggi, dan cara membentuk semula matriks dan memasukkan dimensi tersuai dalam proses. Teknik ini memberikan fleksibiliti dalam memanipulasi matriks untuk memenuhi keperluan tertentu.
Dengan memahami konsep ini dan menggunakan alatan yang disediakan oleh NumPy, anda boleh mengendalikan matriks pelbagai dimensi dengan cekap dan melakukan pengiraan yang kompleks.
Atas ialah kandungan terperinci Tambahkan dimensi tersuai pada matriks menggunakan Python. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!