Bagaimana Anda mengalikan matriks 2x2 dengan python?
Kami akan menulis program Python untuk mendapatkan perkalian dari dua matriks input dan mencetak hasilnya dalam output. Program Python ini menentukan cara mengalikan dua matriks, memiliki beberapa nilai tertentu Show
Sebelum menulis program Python, mari kita lihat dulu gambaran umum tentang perkalian dua matriks perkalian matriksPerkalian matriks adalah operasi biner yang menggunakan sepasang matriks untuk menghasilkan matriks lain. Unsur-unsur dalam matriks dikalikan menurut aritmatika dasar Pada perkalian dua matriks, elemen baris dari matriks pertama dikalikan dengan elemen kolom dari matriks kedua. Contoh. Misalkan kita telah memberikan dua matriks A dan B berikut C adalah penjumlahan dari dua matriks di atas, i. e. , C = A+B, dan karenanya C seharusnya Seperti yang dapat kita lihat bahwa matriks C yang dihasilkan, yang juga dikenal sebagai produk matriks, memiliki jumlah baris yang sama dengan matriks pertama (matriks A) dan jumlah kolom yang sama dengan matriks kedua (matriks B). Perkalian matriks jenis ini juga dikenal sebagai perkalian titik matriks Perkalian dua matriksSekarang, kita akan menulis program Python untuk perkalian dua matriks di mana kita melakukan perkalian seperti yang telah kita lakukan pada contoh yang diberikan di atas. Kita dapat menggunakan berbagai metode untuk menulis program Python seperti ini, namun dalam tutorial ini, kita hanya akan menggunakan dua metode berikut
Dalam kedua metode tersebut, kami akan menulis contoh program untuk memahami implementasinya untuk mengalikan dua matriks Metode 1. Menggunakan metode nested for loopDalam metode ini, kita akan menggunakan perulangan for bersarang pada dua matriks dan melakukan perkalian pada matriks tersebut dan menyimpan hasil perkalian pada matriks ketiga sebagai nilai hasil. Mari kita pahami penerapan metode ini melalui contoh berikut Contoh. Perhatikan program Python berikut Keluaran The multiplication result of matrix A and B is: [37, 43, 59] [34, 58, 62] [58, 92, 103] Metode 2. Menggunakan metode pemahaman daftar bersarangDalam metode ini, kita akan menggunakan pemahaman daftar bersarang untuk mendapatkan hasil perkalian dari dua matriks masukan. Saat menggunakan metode pemahaman daftar dalam program, kami juga akan menggunakan 'zip dengan Python' pada daftar bersarang. Mari kita pahami penerapan metode ini melalui contoh berikut Anda akan mulai dengan mempelajari kondisi perkalian matriks yang valid dan menulis fungsi Python kustom untuk mengalikan matriks. Selanjutnya, Anda akan melihat bagaimana Anda dapat mencapai hasil yang sama menggunakan pemahaman daftar bersarang Terakhir, Anda akan melanjutkan menggunakan NumPy dan fungsi bawaannya untuk melakukan perkalian matriks dengan lebih efisien Sebelum menulis kode Python untuk perkalian matriks, mari kita lihat kembali dasar-dasar perkalian matriks
Anda mungkin pernah menemukan kondisi ini untuk perkalian matriks sebelumnya. Namun, pernahkah Anda bertanya-tanya mengapa ini terjadi? Yah, itu karena cara kerja perkalian matriks. Lihatlah gambar di bawah ini Dalam contoh umum kita, matriks A memiliki m baris dan n kolom. Dan matriks B memiliki n baris dan p kolom Apa Bentuk Matriks Produk?
Jadi untuk mendapatkan elemen pada indeks tertentu dalam matriks C yang dihasilkan, Anda harus menghitung produk titik dari baris dan kolom yang sesuai dalam matriks A dan B, masing-masing. Mengulangi proses di atas, Anda akan mendapatkan produk matriks C dengan bentuk m x p—dengan m baris dan p kolom, seperti yang ditunjukkan di bawah ini Dan perkalian titik atau perkalian dalam antara dua vektor a dan b diberikan oleh persamaan berikut Mari kita rangkum sekarang
Jika Anda perhatikan lebih dekat, n adalah jumlah kolom dalam matriks A, dan juga jumlah baris dalam matriks B. Dan inilah alasan mengapa Anda membutuhkan jumlah kolom dalam matriks A sama dengan jumlah baris dalam matriks B Saya harap Anda memahami syarat agar perkalian matriks valid dan cara mendapatkan setiap elemen dalam matriks perkalian Mari lanjutkan menulis beberapa kode Python untuk mengalikan dua matriks Tulis Fungsi Python Khusus untuk Mengalikan MatriksSebagai langkah pertama, mari kita tulis fungsi khusus untuk mengalikan matriks Fungsi ini harus melakukan hal berikut
Langkah 1. Hasilkan dua matriks bilangan bulat menggunakan fungsi 1 NumPy. Anda juga dapat mendeklarasikan matriks sebagai daftar Python bersarang
Langkah 2. Lanjutkan dan tentukan fungsi 2. Fungsi ini mengambil dua matriks _3 dan 4 sebagai input dan mengembalikan matriks produk 5 jika perkalian matriks valid _Mem-parsing Definisi FungsiMari kita lanjutkan untuk mengurai definisi fungsi Deklarasikan C sebagai variabel global. Secara default, semua variabel di dalam fungsi Python memiliki cakupan lokal. Dan Anda tidak dapat mengaksesnya dari luar fungsi. Agar matriks produk C dapat diakses dari luar, kita harus mendeklarasikannya sebagai variabel global. Cukup tambahkan kualifikasi _6 sebelum nama variabelPeriksa apakah perkalian matriks valid. Gunakan atribut _7 untuk memeriksa apakah A dan B dapat dikalikan. Untuk sembarang larik _8, 9 dan 0 berikan masing-masing jumlah baris dan kolom. Jadi _1 memeriksa apakah perkalian matriks valid. Hanya jika kondisi ini adalah _2, matriks perkalian akan dihitung. Jika tidak, fungsi mengembalikan pesan kesalahanGunakan loop bersarang untuk menghitung nilai. Untuk menghitung elemen-elemen dari matriks yang dihasilkan, kita harus mengulang melalui baris matriks A, dan loop 3 luar melakukan ini. Lingkaran dalam _3 membantu kita mengulang melalui kolom matriks B. Dan loop _3 terdalam membantu mengakses setiap elemen di kolom yang dipilih▶️ Sekarang setelah kita mempelajari cara kerja fungsi Python untuk mengalikan matriks, mari kita panggil fungsi dengan matriks A dan B yang telah kita buat sebelumnya
Karena perkalian matriks antara A dan B valid, fungsi 6 mengembalikan matriks produk CGunakan Pemahaman Daftar Bersarang Python untuk Mengalikan MatriksDi bagian sebelumnya, Anda menulis fungsi Python untuk mengalikan matriks. Sekarang, Anda akan melihat bagaimana Anda dapat menggunakan pemahaman daftar bersarang untuk melakukan hal yang sama Berikut pemahaman daftar bersarang untuk mengalikan matriks Pada awalnya, ini mungkin terlihat rumit. Tapi kami akan mengurai pemahaman daftar bersarang langkah demi langkah Mari fokus pada satu pemahaman daftar pada satu waktu dan identifikasi apa fungsinya Kami akan menggunakan template umum berikut untuk pemahaman daftar
▶️ Lihat panduan Daftar Pemahaman kami dengan Python – dengan Contoh untuk mendapatkan pemahaman mendalam
Pemahaman Daftar Bersarang DijelaskanLangkah 1. Hitung satu nilai dalam matriks C Diberi baris i matriks A dan kolom j matriks B, ekspresi di bawah ini memberikan entri pada indeks (i, j) dalam matriks C
Jika _7, ekspresi akan mengembalikan entri 8 dari matriks C. Jadi Anda bisa mendapatkan satu elemen dalam satu baris dengan cara iniLangkah 2. Bangun satu baris dalam matriks C Tujuan kami selanjutnya adalah membangun seluruh baris Untuk baris 1 dalam matriks A, Anda harus mengulang semua kolom dalam matriks B untuk mendapatkan satu baris lengkap dalam matriks C Kembali ke templat pemahaman daftar
Dan inilah pemahaman daftar pertama
Langkah 3. Bangun semua baris dan dapatkan matriks C Selanjutnya, Anda harus mengisi matriks produk C dengan menghitung sisa baris Dan untuk ini, Anda harus mengulang semua baris dalam matriks A Kembali ke pemahaman daftar lagi, dan lakukan hal berikut
Dan inilah pemahaman daftar bersarang terakhir kami. 🎊
Saatnya untuk memverifikasi hasilnya. ✔
Jika Anda melihat lebih dekat, ini setara dengan for loop bersarang yang kita miliki sebelumnya—hanya saja lebih ringkas Anda juga dapat melakukan ini dengan lebih efisien menggunakan beberapa fungsi bawaan. Mari pelajari tentang mereka di bagian selanjutnya Gunakan NumPy matmul() untuk Mengalikan Matriks dengan PythonThe _8 mengambil dua matriks sebagai input dan mengembalikan produk jika perkalian matriks antara matriks input valid
Perhatikan bagaimana metode ini lebih sederhana daripada dua metode yang telah kita pelajari sebelumnya. Faktanya, alih-alih 8, Anda dapat menggunakan operator @ yang setara, dan kami akan segera melihatnyaCara Menggunakan @ Operator dengan Python untuk Mengalikan MatriksDalam Python, _0 adalah operator biner yang digunakan untuk perkalian matriksIni beroperasi pada dua matriks, dan secara umum, NumPy array N-dimensi, dan mengembalikan matriks produk
Inilah cara Anda dapat menggunakannya
Perhatikan bahwa perkalian matriks C sama dengan yang kita dapatkan sebelumnya Bisakah Anda Menggunakan np. dot() untuk Mengalikan Matriks?Jika Anda pernah menemukan kode yang menggunakan 2 untuk mengalikan dua matriks, inilah cara kerjanya _0Anda akan melihat bahwa _3 juga mengembalikan matriks produk yang diharapkanNamun, sesuai dokumen NumPy, Anda harus menggunakan 2 hanya untuk menghitung produk titik dari dua vektor satu dimensi dan bukan untuk perkalian matriks
Saat NumPy secara implisit menyiarkan operasi produk titik ini ke semua baris dan semua kolom, Anda mendapatkan matriks produk yang dihasilkan. Tetapi agar kode Anda tetap dapat dibaca dan menghindari ambiguitas, gunakan 8 atau operator 0 sebagai gantinyaKesimpulan🎯 Dalam tutorial ini, Anda telah mempelajari hal berikut
Dan itu mengakhiri diskusi kita tentang perkalian matriks dengan Python. Sebagai langkah selanjutnya, pelajari cara memeriksa apakah suatu bilangan prima dengan Python. Atau selesaikan masalah menarik pada string Python Bagaimana Anda mengalikan matriks dengan Python?Untuk mengalikan dua matriks gunakan fungsi dot() dari NumPy . Hanya dibutuhkan 2 argumen dan mengembalikan produk dari dua matriks.
Bagaimana Anda mengalikan dua matriks dengan elemen di Python?multiply() function digunakan ketika kita ingin menghitung perkalian dua array. Ini mengembalikan produk arr1 dan arr2, berdasarkan elemen.
Bagaimana Anda mengalikan dengan 2 dengan Python?Pertama, kedua angka tersebut masing-masing disimpan dalam variabel num_1 dan num_2. Perkalian dengan Python dilakukan dengan ( * ) operator , kemudian hasilnya disimpan dalam variabel product dan dicetak menggunakan format string. |