Python Matriks: Contoh Transpose, Perkalian, Array NumPy

Apa itu Python Matriks?

A Python Matriks adalah larik data persegi panjang dua dimensi khusus yang disimpan dalam baris dan kolom. Data dalam matriks dapat berupa angka, string, ekspresi, simbol, dll. Matriks merupakan salah satu struktur data penting yang dapat digunakan dalam perhitungan matematika dan ilmiah.

Bagaimana Python Matriks berfungsi?

Data di dalam array dua dimensi dalam format matriks terlihat seperti berikut:

Python Matriks

Langkah 1) Ini menunjukkan matriks 2x2. Matriks ini memiliki dua baris dan 2 kolom. Data di dalam matriks adalah angka. Baris1 memiliki nilai 2,3, dan baris2 memiliki nilai 4,5. Kolom, yaitu kolom1, memiliki nilai 2,4, dan kolom2 memiliki nilai 3,5.

Langkah 2) Ini menunjukkan matriks 2×3. Ini memiliki dua baris dan tiga kolom. Data di dalam baris pertama, yaitu baris1, bernilai 2,3,4, dan baris2 bernilai 5,6,7. Kolom col1 bernilai 2,5, col2 bernilai 3,6, dan col3 bernilai 4,7.

Demikian pula, Anda dapat menyimpan data Anda di dalam matriks nxn PythonBanyak operasi yang dapat dilakukan pada matriks seperti penjumlahan, pengurangan, perkalian, dan lain sebagainya.

Python tidak memiliki cara mudah untuk mengimplementasikan tipe data matriks.

Matriks python menggunakan array, dan hal yang sama dapat diimplementasikan.

  • Membuat Python Matriks menggunakan tipe data daftar bersarang
  • membuat Python Matriks menggunakan Array dari Python Paket numpy

membuat Python Matriks menggunakan tipe data daftar bersarang

In Python, array direpresentasikan menggunakan tipe data list. Jadi sekarang akan menggunakan list untuk membuat matriks python.

Kita akan membuat matriks 3×3, seperti gambar di bawah ini:

membuat Python Matriks menggunakan Daftar Bersarang

  • Matriks mempunyai 3 baris dan 3 kolom.
  • Baris pertama dalam format daftar adalah sebagai berikut: [8,14,-6]
  • Baris kedua dalam daftar adalah: [12,7,4]
  • Baris ketiga dalam daftar adalah: [-11,3,21]

Matriks di dalam daftar dengan semua baris dan kolomnya seperti yang ditunjukkan di bawah ini:

List = [[Row1], 
           [Row2], 
           [Row3]
           ...
           [RowN]]

Jadi sesuai matriks yang tercantum di atas, tipe daftar dengan data matriks adalah sebagai berikut:

M1 = [[8, 14, -6], [12,7,4], [-11,3,21]]

Untuk membaca data di dalamnya Python Matriks menggunakan daftar.

Kami akan menggunakan matriks yang didefinisikan di atas. Contohnya akan membaca data, mencetak matriks, menampilkan elemen terakhir dari setiap baris.

Contoh: Untuk mencetak matriks

M1 = [[8, 14, -6], 
           [12,7,4], 
           [-11,3,21]]

#To print the matrix
print(M1)

Keluaran:

The Matrix M1 =  [[8, 14, -6], [12, 7, 4], [-11, 3, 21]]

Contoh 2: Untuk membaca elemen terakhir dari setiap baris

M1 = [[8, 14, -6],
           [12,7,4], 
           [-11,3,21]]

matrix_length = len(M1)

#To read the last element from each row.
for i in range(matrix_length):
    print(M1[i][-1])

Keluaran:

-6
4
21

Contoh 3: Untuk mencetak baris-baris pada Matriks

M1 = [[8, 14, -6],
           [12,7,4], 
           [-11,3,21]]

matrix_length = len(M1)

#To print the rows in the Matrix
for i in range(matrix_length):
    print(M1[i])

Keluaran:

[8, 14, -6]
[12, 7, 4]
[-11, 3, 21]

Menjumlahkan Matriks Menggunakan Daftar Bersarang

Kita dapat dengan mudah menjumlahkan dua matriks tertentu. Matriks di sini akan berbentuk daftar. Mari kita kerjakan sebuah contoh yang akan menjumlahkan matriks-matriks yang diberikan.

Matriks 1:

M1 = [[8, 14, -6],
           [12,7,4], 
           [-11,3,21]]

Matriks 2 :

M2 = [[3, 16, -6],
           [9,7,-4], 
           [-1,3,13]]

Terakhir akan menginisialisasi matriks yang akan menyimpan hasil M1 + M2.

Matriks 3 :

M3  = [[0,0,0],
            [0,0,0],
            [0,0,0]]

Contoh: Penjumlahan Matriks

Untuk menjumlahkan, matriks akan menggunakan perulangan for yang akan mengulang kedua matriks yang diberikan.

M1 = [[8, 14, -6], 
      [12,7,4], 
      [-11,3,21]]

M2 = [[3, 16, -6],
           [9,7,-4], 
           [-1,3,13]]

M3  = [[0,0,0],
       [0,0,0],
       [0,0,0]]
matrix_length = len(M1)

#To Add M1 and M2 matrices
for i in range(len(M1)):
for k in range(len(M2)):
        M3[i][k] = M1[i][k] + M2[i][k]

#To Print the matrix
print("The sum of Matrix M1 and M2 = ", M3)

Keluaran:

The sum of Matrix M1 and M2 =  [[11, 30, -12], [21, 14, 0], [-12, 6, 34]]

Perkalian Matriks menggunakan Nested List

Untuk mengalikan matriks, kita dapat menggunakan perulangan for pada kedua matriks tersebut seperti pada kode di bawah ini:

M1 = [[8, 14, -6], 
      [12,7,4], 
      [-11,3,21]]

M2 = [[3, 16, -6],
           [9,7,-4], 
           [-1,3,13]]

M3  = [[0,0,0],
       [0,0,0],
       [0,0,0]]

matrix_length = len(M1)

#To Multiply M1 and M2 matrices
for i in range(len(M1)):
for k in range(len(M2)):
        M3[i][k] = M1[i][k] * M2[i][k]

#To Print the matrix
print("The multiplication of Matrix M1 and M2 = ", M3)

Keluaran:

The multiplication of Matrix M1 and M2 =  [[24, 224, 36], [108, 49, -16], [11, 9, 273]]

membuat Python Matriks menggunakan Array dari Python Paket numpy

Pustaka python Numpy membantu menangani array. Numpy memproses array sedikit lebih cepat dibandingkan dengan daftar.

Untuk bekerja dengan Numpy, Anda perlu menginstalnya terlebih dahulu. Ikuti langkah-langkah yang diberikan di bawah ini untuk menginstal Numpy.

Langkah 1) Perintah untuk menginstal Numpy adalah:

pip install NumPy

Langkah 2) Untuk menggunakan Numpy dalam kode Anda, Anda harus mengimpornya.

import NumPy

Langkah 3) Anda juga dapat mengimpor Numpy menggunakan alias, seperti yang ditunjukkan di bawah ini:

import NumPy as np

Kita akan menggunakan metode array() dari Numpy untuk membuat matriks python.

Contoh : Array di Numpy yang akan dibuat Python Matriks

import numpy as np
M1 = np.array([[5, -10, 15], [3, -6, 9], [-4, 8, 12]])
print(M1)

Keluaran:

[[  5 -10  15]
 [  3  -6   9]
 [ -4   8  12]]

Matriks Operation menggunakan Numpy.Array()

Operasi matriks yang dapat dilakukan adalah penjumlahan, pengurangan, perkalian, transpos, pembacaan baris dan kolom matriks, pemotongan matriks, dan lain sebagainya. Pada semua contoh di atas, kita akan menggunakan metode array().

Penambahan Matriks

Untuk melakukan penjumlahan pada matriks, kita akan membuat dua matriks menggunakan numpy.array() dan menambahkannya menggunakan operator (+).

Contoh:

import numpy as np

M1 = np.array([[3, 6, 9], [5, -10, 15], [-7, 14, 21]])
M2 = np.array([[9, -18, 27], [11, 22, 33], [13, -26, 39]])
M3 = M1 + M2  
print(M3)

Keluaran:

[[ 12 -12  36]
 [ 16  12  48]
 [  6 -12  60]]

Pengurangan Matriks

Untuk melakukan pengurangan pada matriks, kita akan membuat dua matriks menggunakan numpy.array() dan menguranginya menggunakan operator (-).

Contoh:

import numpy as np

M1 = np.array([[3, 6, 9], [5, -10, 15], [-7, 14, 21]])
M2 = np.array([[9, -18, 27], [11, 22, 33], [13, -26, 39]])
M3 = M1 - M2  
print(M3)

Keluaran:

[[ -6  24 -18]
 [ -6 -32 -18]
 [-20  40 -18]]

Perkalian Matriks

Pertama akan membuat dua matriks menggunakan numpy.arary(). Untuk mengalikannya, Anda dapat menggunakan metode numpy dot(). Numpy.dot() adalah perkalian titik dari matriks M1 dan M2. Numpy.dot() menangani array 2D dan melakukan perkalian matriks.

Contoh:

import numpy as np

M1 = np.array([[3, 6], [5, -10]])
M2 = np.array([[9, -18], [11, 22]])
M3 = M1.dot(M2)  
print(M3)

Keluaran:

[[  93   78]
 [ -65 -310]]

Transpos Matriks

Transpos suatu matriks dihitung dengan mengubah baris sebagai kolom dan kolom sebagai baris. Fungsi transpose() dari Numpy dapat digunakan untuk menghitung transpose suatu matriks.

Contoh:

import numpy as np

M1 = np.array([[3, 6, 9], [5, -10, 15], [4,8,12]])
M2 = M1.transpose()

print(M2)

Keluaran:

[[  3   5   4]
 [  6 -10   8]
 [  9  15  12]]

Mengiris Matriks

Mengiris akan mengembalikan Anda elemen dari matriks berdasarkan indeks awal/akhir yang diberikan.

  • Sintaks untuk mengiris adalah – [mulai:akhir]
  • Jika indeks awal tidak diberikan maka dianggap 0. Misalnya [:5], artinya [0:5].
  • Jika bagian akhir tidak dilewati, maka akan diambil sebagai panjang array.
  • Jika awal/akhir memiliki nilai negatif, maka pemotongan akan dilakukan dari akhir array.

Sebelum kita mengerjakan pemotongan pada matriks, mari kita pahami terlebih dahulu cara menerapkan pemotongan pada array sederhana.

import numpy as np

arr = np.array([2,4,6,8,10,12,14,16])
print(arr[3:6]) # will print the elements from 3 to 5
print(arr[:5]) # will print the elements from 0 to 4
print(arr[2:]) # will print the elements from 2 to length of the array.
print(arr[-5:-1]) # will print from the end i.e. -5 to -2
print(arr[:-1]) # will print from end i.e. 0 to -2

Keluaran:

[ 8 10 12]
[ 2  4  6  8 10]
[ 6  8 10 12 14 16]
[ 8 10 12 14]
[ 2  4  6  8 10 12 14]

Sekarang mari kita terapkan pemotongan pada matriks. Untuk melakukan pemotongan pada matriks

sintaksnya adalah M1[row_start:row_end, col_start:col_end]

  • Awal/akhir yang pertama adalah untuk baris, yaitu untuk memilih baris-baris matriks.
  • Awal/akhir yang kedua adalah untuk kolom, yaitu untuk memilih kolom-kolom matriks.

Matriks M1 t yang akan kita gunakan adalah sebagai berikut:

M1 = np.array([[2, 4, 6, 8, 10], 
    [3, 6, 9, -12, -15],
    [4, 8, 12, 16, -20],
    [5, -10, 15, -20, 25]])

Total ada 4 baris. Indeks dimulai dari 0 hingga 3. Angka 0th barisnya adalah [2,4,6,8,10], 1st barisnya adalah [3,6,9,-12,-15] diikuti oleh 2nd dan 3rd.

Matriks M1 memiliki 5 kolom. Indeks dimulai dari 0 hingga 4. Angka 0th kolom memiliki nilai [2,3,4,5], 1st kolom memiliki nilai [4,6,8,-10] diikuti oleh 2nd, 3rd, 4th, dan 5th.

Berikut adalah contoh yang menunjukkan cara mendapatkan data baris dan kolom dari matriks menggunakan pemotongan. Dalam contoh ini, kita mencetak 1st dan 2nd baris, dan untuk kolom, kita menginginkan kolom pertama, kedua, dan ketiga. Untuk mendapatkan output tersebut kita telah menggunakan: M1[1:3, 1:4]

Contoh:

import numpy as np

M1 = np.array([[2, 4, 6, 8, 10], 
    [3, 6, 9, -12, -15],
    [4, 8, 12, 16, -20],
    [5, -10, 15, -20, 25]])
print(M1[1:3, 1:4]) # For 1:3, it will give first and second row.
#The columns will be taken from first to third.

Keluaran:

[[  6   9 -12]
 [  8  12  16]]

Contoh : Untuk mencetak semua baris dan kolom ketiga

import numpy as np
M1 = np.array([[2, 4, 6, 8, 10], 
    [3, 6, 9, -12, -15],
    [4, 8, 12, 16, -20],
    [5, -10, 15, -20, 25]])
print(M1[:,3]) # This will print all rows and the third column data.

Keluaran:

[  8 -12  16 -20]

Contoh: Untuk mencetak baris pertama dan semua kolom

import numpy as np

M1 = np.array([[2, 4, 6, 8, 10], 
    [3, 6, 9, -12, -15],
    [4, 8, 12, 16, -20],
    [5, -10, 15, -20, 25]])
print(M1[:1,]) # This will print first row and all columns

Keluaran:

[[ 2  4  6  8 10]]

Contoh: Untuk mencetak tiga baris pertama dan 2 kolom pertama

import numpy as np

M1 = np.array([[2, 4, 6, 8, 10], 
    [3, 6, 9, -12, -15],
    [4, 8, 12, 16, -20],
    [5, -10, 15, -20, 25]])
print(M1[:3,:2])

Keluaran:

[[2 4]
 [3 6]
 [4 8]]

Mengakses Matriks NumPy

Kita telah melihat cara kerja pemotongan. Dengan mempertimbangkan hal tersebut, kita akan membahas cara mendapatkan baris dan kolom dari matriks.

Untuk mencetak baris matriks

Pada contoh tersebut akan mencetak baris-baris matriks.

Contoh:

import numpy as np
M1 = np.array([[3, 6, 9], [5, -10, 15], [4,8,12]])
print(M1[0])  #first row
print(M1[1]) # the second row
print(M1[-1]) # -1 will print the last row

Keluaran:

[3 6 9]
[  5 -10  15]
[ 4  8 12]

Untuk mendapatkan baris terakhir, Anda bisa menggunakan indeks atau -1. Misalnya matriks mempunyai 3 baris,

jadi M1[0] akan memberi Anda baris pertama,

M1[1] akan memberi Anda baris kedua

M1[2] atau M1[-1] akan memberi Anda baris ketiga atau baris terakhir.

Untuk mencetak kolom matriks

import numpy as np
M1 = np.array([[2, 4, 6, 8, 10], 
    [3, 6, 9, -12, -15],
    [4, 8, 12, 16, -20],
    [5, -10, 15, -20, 25]])
print(M1[:,0]) # Will print the first Column
print(M1[:,3]) # Will  print the third Column
print(M1[:,-1]) # -1 will give you the last column

Keluaran:

[2 3 4 5]
[  8 -12  16 -20]
[ 10 -15 -20  25]

Kesimpulan

  • A Python Matriks adalah larik data persegi panjang dua dimensi khusus yang disimpan dalam baris dan kolom. Data dalam matriks dapat berupa angka, string, ekspresi, simbol, dll. Matriks merupakan salah satu struktur data penting yang dapat digunakan dalam perhitungan matematika dan ilmiah.
  • Python tidak memiliki cara mudah untuk mengimplementasikan tipe data matriks. Python matriks dapat dibuat menggunakan tipe data daftar bersarang dan dengan menggunakan perpustakaan numpy.
  • Pustaka python Numpy membantu menangani array. Numpy memproses array sedikit lebih cepat dibandingkan dengan daftar.
  • Operasi matriks yang dapat dilakukan adalah penjumlahan, pengurangan, perkalian, transpos, pembacaan baris, kolom matriks, pengirisan matriks, dan sebagainya.
  • Untuk menambahkan dua matriks, Anda dapat menggunakan numpy.array() dan menambahkannya menggunakan operator (+).
  • Untuk mengalikannya, Anda dapat menggunakan metode numpy dot(). Numpy.dot() adalah perkalian titik dari matriks M1 dan M2. Numpy.dot() menangani array 2D dan melakukan perkalian matriks.
  • Transpos suatu matriks dihitung dengan mengubah baris sebagai kolom dan kolom sebagai baris. Fungsi transpose() dari Numpy dapat digunakan untuk menghitung transpose suatu matriks.
  • Mengiris matriks akan mengembalikan Anda elemen berdasarkan indeks awal/akhir yang diberikan.