Diberikan dua matriks input pengguna. Tugas kita adalah menampilkan penambahan dua matriks. Dalam masalah ini kami menggunakan Daftar bersarang komprehensif
Algoritma
Step1: input two matrix. Step 2: nested for loops to iterate through each row and each column. Step 3: take one resultant matrix which is initially contains all 0. Then we multiply each row elements of first matrix with each elements of second matrix, then add all multiplied value. That is the value of resultant matrix.Kode Contoh
# Program to multiply two matrices A=[] n=int(input("Enter N for N x N matrix: ")) print("Enter the element ::>") for i in range(n): row=[] #temporary list to store the row for j in range(n): row.append(int(input())) #add the input to row list A.append(row) #add the row to the list print(A) # [[1, 2, 3], [4, 5, 6], [7, 8, 9]] #Display the 2D array print("Display Array In Matrix Form") for i in range(n): for j in range(n): print(A[i][j], end=" ") print() #new line B=[] n=int(input("Enter N for N x N matrix : ")) #3 here #use list for storing 2D array #get the user input and store it in list (here IN : 1 to 9) print("Enter the element ::>") for i in range (n): row=[] #temporary list to store the row for j in range(n): row.append(int(input())) #add the input to row list B.append(row) #add the row to the list print(B) # [[1, 2, 3], [4, 5, 6], [7, 8, 9]] #Display the 2D array print("Display Array In Matrix Form") for i in range(n): for j in range(n): print(B[i][j], end=" ") print() result = [[0,0,0], [0,0,0], [0,0,0]] for i in range(len(A)): for j in range(len(B[0])): for k in range(len(B)): result[i][j] += A[i][k] * B[k][j] print("The Resultant Matrix Is ::>") for r in result: print(r) _Keluaran
Enter N for N x N matrix: 3 Enter the element ::> 2 1 4 2 1 2 3 4 3 [[2, 1, 4], [2, 1, 2], [3, 4, 3]] Display Array In Matrix Form 2 1 4 2 1 2 3 4 3 Enter N for N x N matrix : 3 Enter the element ::> 1 2 3 4 5 6 7 8 9 [[1, 2, 3], [4, 5, 6], [7, 8, 9]] Display Array In Matrix Form 1 2 3 4 5 6 7 8 9 The Resultant Matrix Is ::> [34, 41, 48] [20, 25, 30] [40, 50, 60]Dalam tutorial ini, Anda akan belajar mengalikan dua matriks dengan Python. Matriks adalah struktur data dua dimensi di mana angka disusun menjadi baris dan kolom. Python tidak memiliki tipe bawaan untuk matriks tetapi kita dapat memperlakukan daftar bersarang atau daftar dari daftar sebagai matriks. Daftar adalah sekumpulan elemen terurut yang diapit tanda kurung siku [ ]. Setiap elemen dalam daftar kemudian akan diperlakukan sebagai deretan matriks
Misalnya, A= [ [1, 2], [3, 4]] adalah matriks 2x2. Baris pertama dapat dipilih sebagai A[0] dan elemen di baris pertama, kolom pertama dapat dipilih sebagai A[0][0]
Perkalian dua matriks hanya dapat dilakukan jika jumlah kolom matriks pertama sama dengan jumlah baris matriks kedua.
Jika m dan n adalah baris dan kolom dari matriks A, p dan q adalah baris dan kolom dari matriks B, maka perkalian akan dimungkinkan jika, n=p dan matriks yang dihasilkan adalah,
Memasukkan
A=[ [1,2], [3,4] ]
B=[ [1,3], [2,5] ]
Keluaran. [ [5, 13], [11, 29] ]
Untuk mengalikan dua matriks dengan Python, kita bisa mengikuti pendekatan berikut
- Menggunakan loop bersarang
- Menggunakan pemahaman daftar bersarang
- Menggunakan modul numpy
Pendekatan 1. loop bersarang
Untuk pendekatan ini, kita akan menggunakan perulangan bersarang yang merupakan perulangan di dalam perulangan, untuk mengalikan matriks dan menyimpannya dalam matriks resultan. Kami akan menggunakan tiga loop, loop pertama untuk iterasi melalui baris matriks A dan loop kedua untuk iterasi melalui kolom matriks A dan loop ketiga akan mengulangi baris matriks B
Algoritma
Ikuti algoritme untuk memahami pendekatan dengan lebih baik
Langkah 1- Tentukan fungsi yang akan mengalikan dua matriks
Langkah 2- Dalam fungsinya, nyatakan daftar yang akan menyimpan daftar hasil
Langkah 3- Ulangi baris dan kolom matriks A dan baris matriks B
Langkah 4 - Kalikan elemen dalam dua matriks dan simpan dalam daftar hasil
Langkah 5- Cetak daftar yang dihasilkan
Langkah 6- Deklarasikan dan tetapkan nilai untuk dua matriks
Langkah 7- Panggil fungsi, hasilnya akan dicetak
Program Piton 1
Lihatlah program untuk memahami penerapan pendekatan yang disebutkan di atas. Program ini akan bekerja untuk matriks 3x3
def Multiply(A,B): result=[ [0,0,0],[0,0,0],[0,0,0] ] #for rows for i in range(len(A)): #for columns for j in range(len(B[0])): #for rows of matrix B for k in range(len(B)): result[i][j] += A[i][k] * B[k][j] for p in result: print(p) return 0 A = [ [1, 2, 3],[6, 7, 4], [8, 10, 11] ] B = [[1, 5, 3],[2, 6, 5], [7, 4, 9] ] print("Result: ") Multiply(A,B)
Hasil
[26, 29, 40]
[48, 88, 89]
[105, 144, 173]
Pendekatan 2. pemahaman daftar bersarang
Pemahaman daftar adalah sintaks yang lebih singkat untuk membuat daftar baru berdasarkan nilai dari daftar yang sudah ada. Kami akan menyimpan produk dari dua matriks dan menyimpannya di daftar baru. Kami akan menggunakan pemahaman daftar bersarang untuk mengulangi setiap elemen dalam matriks. Pemahaman daftar memungkinkan kita untuk menulis kode ringkas dengan Python
Algoritma
Ikuti algoritme untuk memahami pendekatan dengan lebih baik
Langkah 1- Tentukan fungsi yang akan menambahkan dua matriks
Langkah 2- Dalam fungsi, nyatakan daftar yang akan menyimpan hasilnya
Langkah 3- Melalui pemahaman daftar gandakan elemen yang sesuai dan simpan dalam daftar hasil
Langkah 4- Cetak daftar yang dihasilkan
Langkah 5- Deklarasikan dan tetapkan nilai untuk dua matriks
Langkah 6- Panggil fungsi, hasilnya akan dicetak
Program Python2
Lihatlah program untuk memahami penerapan pendekatan yang disebutkan di atas. Program ini akan bekerja untuk matriks 3x3
def Multiply(X,Y): result=[ [0,0,0],[0,0,0],[0,0,0] ] #list comprehension result= [[sum(a*b for a,b in zip(X_row,Y_col)) for Y_col in zip(*Y)] for X_row in X] for k in result: print(k) return 0 A = [ [6, 7, 2],[3, 5, 4], [1, 2, 3] ] B = [[1, 5],[2, 5],[6, 3]] print("Result: ") Multiply(A,B)_
Hasil
[32, 71]
[37, 52]
[23, 24]
Pendekatan 3. menggunakan modul NumPy
Modul Numpy adalah paket python untuk komputasi dan pemrosesan elemen daftar multidimensi dan satu dimensi. Fungsi dot() dalam modul ini menghitung perkalian titik dari matriks
Algoritma
Ikuti algoritme untuk memahami pendekatan dengan lebih baik
Langkah 1- Impor modul NumPy
Langkah 2- Deklarasikan dan tetapkan nilai untuk dua matriks
Langkah 3- Deklarasikan daftar hasil
Langkah 4- Gunakan fungsi dot() untuk menemukan produk dari matriks
Langkah 6- Simpan produk di hasil
Langkah 7- Cetak daftar yang dihasilkan
Program Phyton3
Lihatlah program untuk memahami penerapan pendekatan yang disebutkan di atas
import numpy as np A = [[12, 7, 3], [4, 5, 6], [7, 8, 9]] B = [[5, 8, 1, 2], [6, 7, 3, 0], [4, 5, 9, 1]] result= [[0,0,0,0], [0,0,0,0], [0,0,0,0]] result= np.dot(A,B) for p in result: print(p)Kesimpulan
Dalam tutorial ini, kita telah mempelajari tiga cara mengalikan dua matriks dengan Python. Kami telah belajar cara menggunakan loop bersarang, pemahaman daftar, dan modul NumPy dengan Python