Operasi Matriks Python dengan NumPy: Transpose, Penjumlahan, Perkalian & Pengirisan – Panduan Praktis
Operasi Matriks Python dengan NumPy
Pemodelan matematika, komputasi ilmiah, dan analisis data sering bergantung pada manipulasi yang efisien dari data dua dimensi. Dalam Python, matriks dapat dibuat dengan list biasa atau, lebih kuat lagi, dengan pustaka NumPy. Panduan ini memandu Anda melalui operasi matriks yang paling umum, lengkap dengan contoh kode yang jelas dan tips praktik terbaik.
Apa Itu Matriks?
Matriks adalah array persegi panjang dari angka (atau tipe data lainnya) yang diatur dalam baris dan kolom. Sementara Python tidak memiliki tipe matriks khusus dalam bahasa inti, Anda dapat mewakilinya dengan list bersarang atau dengan ndarray NumPy, yang menawarkan operasi vektorisasi yang cepat.
Membuat Matriks dengan List Bersarang
List bersarang adalah cara termudah untuk membangun matriks. Setiap list dalam mewakili baris:
# Matriks 3x3 M1 = [[8, 14, -6], [12, 7, 4], [-11, 3, 21]] print(M1)
Output:
[[8, 14, -6], [12, 7, 4], [-11, 3, 21]]
Membaca Data
Akses elemen melalui indeks baris dan kolom. Untuk mencetak elemen terakhir dari setiap baris:
for row in M1: print(row[-1])
Output:
-6 4 21
Menambahkan Matriks
Saat kedua matriks berbentuk sama, penjumlahan elemen per elemen adalah mudah:
M2 = [[3, 16, -6], [9, 7, -4], [-1, 3, 13]] # Matriks hasil M3 = [[M1[i][j] + M2[i][j] for j in range(len(M1[0]))] for i in range(len(M1))] print(M3)
Output:
[[11, 30, -12], [21, 14, 0], [-12, 6, 34]]
Perkalian Elemen per Elemen
Demikian pula, Anda dapat mengalikan elemen yang bersesuaian:
M3 = [[M1[i][j] * M2[i][j] for j in range(len(M1[0]))] for i in range(len(M1))] print(M3)
Output:
[[24, 224, 36], [108, 49, -16], [11, 9, 273]]
Menggunakan NumPy untuk Operasi Matriks yang Efisien
NumPy menyediakan tipe array khusus dan banyak operasi vektorisasi. Instal dengan pip install numpy dan impor sebagai np:
import numpy as np
Membuat Matriks
M1 = np.array([[5, -10, 15], [3, -6, 9], [-4, 8, 12]]) print(M1)
Output:
[[ 5 -10 15] [ 3 -6 9] [ -4 8 12]]
Operasi Dasar
- Penjumlahan:
M3 = M1 + M2 - Pengurangan:
M3 = M1 - M2 - Perkalian titik (perkalian matriks):
M3 = M1.dot(M2) - Transpose:
M2 = M1.transpose()
Contoh: Perkalian Titik Matriks
M1 = np.array([[3, 6], [5, -10]]) M2 = np.array([[9, -18], [11, 22]]) print(M1.dot(M2))
Output:
[[ 93 78] [- 65 -310]]
Pengirisan
Potong baris dan kolom dengan array[row_start:row_end, col_start:col_end]:
M = np.array([[2, 4, 6, 8, 10], [3, 6, 9, -12, -15], [4, 8, 12, 16, -20], [5, -10, 15, -20, 25]]) print(M[1:3, 1:4]) # baris 1–2, kolom 1–3 print(M[:, 3]) # semua baris, kolom ke-4 print(M[:1, :]) # baris pertama, semua kolom print(M[:3, :2]) # 3 baris pertama, 2 kolom pertama
Output:
[[ 6 9 -12] [ 8 12 16]] [ 8 -12 16 -20] [[ 2 4 6 8 10]] [[ 2 4] [ 3 6] [ 4 8]]
Mengakses Baris dan Kolom
# Baris print(M[0]) # baris pertama print(M[-1]) # baris terakhir # Kolom print(M[:, 0]) # kolom pertama print(M[:, -1]) # kolom terakhir
Poin Utama
- List of lists Python cukup untuk matriks kecil, tetapi
ndarray NumPy menskalakan jauh lebih baik. - Operasi elemen per elemen (+, -, *, /) bekerja langsung pada array NumPy.
- Untuk perkalian matriks sejati, gunakan
np.dot() atau operator @. - Pengirisan menawarkan cara yang kuat untuk mengekstrak sub-matriks atau baris/kolom tertentu.
- Selalu pastikan matriks memiliki bentuk yang kompatibel sebelum melakukan operasi.