Python Matrix: Contoh Transpose, Multiplication, NumPy Arrays

Isi kandungan:

Anonim

Apa itu Python Matrix?

Matriks Python adalah susunan data segi empat tepat dua dimensi yang tersimpan dalam baris dan lajur. Data dalam matriks boleh berupa nombor, rentetan, ungkapan, simbol, dll. Matriks adalah salah satu struktur data penting yang dapat digunakan dalam pengiraan matematik dan saintifik.

Dalam tutorial Python ini, anda akan belajar:

  • Apa itu Python Matrix?
  • Bagaimana Matriks Python berfungsi?
  • Buat Python Matrix menggunakan jenis data senarai bersarang
  • Untuk membaca data di dalam Python Matrix menggunakan senarai.
  • Contoh 2: Untuk membaca elemen terakhir dari setiap baris.
  • Contoh 3: Untuk mencetak baris dalam Matriks
  • Menambah Matriks Menggunakan Senarai Bersarang
  • Pendaraban Matriks menggunakan Senarai Bersarang
  • Buat Python Matrix menggunakan Arrays dari pakej Python Numpy
  • Operasi Matriks menggunakan Numpy.Array ()
  • Mengakses NumPy Matrix

Bagaimana Matriks Python berfungsi?

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

Langkah 1)

Ia menunjukkan matriks 2x2. Ia mempunyai dua baris dan 2 lajur. Data di dalam matriks adalah nombor. Baris1 mempunyai nilai 2,3, dan baris2 mempunyai nilai 4,5. Lajur, iaitu, col1, mempunyai nilai 2,4, dan col2 mempunyai nilai 3,5.

Langkah 2)

Ia menunjukkan matriks 2x3. Ia mempunyai dua baris dan tiga lajur. Data di dalam baris pertama, iaitu baris1, mempunyai nilai 2,3,4, dan baris2 mempunyai nilai 5,6,7. Lajur col1 mempunyai nilai 2,5, col2 mempunyai nilai 3,6, dan col3 mempunyai nilai 4,7.

Begitu juga, anda boleh menyimpan data anda di dalam matriks nxn di Python. Banyak operasi boleh dilakukan pada penambahan, pengurangan, pendaraban, dan lain-lain seperti matriks.

Python tidak mempunyai cara yang mudah untuk melaksanakan jenis data matriks.

Matriks python menggunakan tatasusunan, dan yang sama dapat dilaksanakan.

  • Buat Python Matrix menggunakan jenis data senarai bersarang
  • Buat Python Matrix menggunakan Arrays dari pakej Python Numpy

Buat Python Matrix menggunakan jenis data senarai bersarang

Di Python, susunan dilambangkan menggunakan jenis data senarai. Jadi sekarang akan menggunakan senarai untuk membuat matriks python.

Kami akan membuat matriks 3x3, seperti gambar di bawah:

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

Matriks dalam senarai dengan semua baris dan lajur adalah seperti yang ditunjukkan di bawah:

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

Jadi mengikut matriks yang disenaraikan di atas jenis senarai dengan data matriks adalah seperti berikut:

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

Untuk membaca data di dalam Python Matrix menggunakan senarai.

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

Contoh: Untuk mencetak matriks

M1 = [[8, 14, -6],[12,7,4],[-11,3,21]]#To print the matrixprint(M1)

Pengeluaran:

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])

Pengeluaran:

-6421

Contoh 3: Untuk mencetak baris dalam Matriks

M1 = [[8, 14, -6],[12,7,4],[-11,3,21]]matrix_length = len(M1)#To print the rows in the Matrixfor i in range(matrix_length):print(M1[i])

Pengeluaran:

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

Menambah Matriks Menggunakan Senarai Bersarang

Kita boleh menambah dua matriks yang diberikan dengan mudah. Matriks di sini akan berada dalam borang senarai. Marilah kita mengusahakan contoh yang perlu diperhatikan untuk menambahkan matriks yang diberikan.

Matrik 1:

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

Matrik 2:

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

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

Matrik 3:

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

Contoh: Menambah Matriks

Untuk menambah, matriks akan menggunakan for-loop yang akan melalui 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 matricesfor i in range(len(M1)):for k in range(len(M2)):M3[i][k] = M1[i][k] + M2[i][k]#To Print the matrixprint("The sum of Matrix M1 and M2 = ", M3)

Pengeluaran:

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

Pendaraban Matriks menggunakan Senarai Bersarang

Untuk mengalikan matriks, kita dapat menggunakan loop untuk kedua matriks seperti yang ditunjukkan dalam kod di bawah:

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 matricesfor i in range(len(M1)):for k in range(len(M2)):M3[i][k] = M1[i][k] * M2[i][k]#To Print the matrixprint("The multiplication of Matrix M1 and M2 = ", M3)

Pengeluaran:

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

Buat Python Matrix menggunakan Arrays dari pakej Python Numpy

Perpustakaan python Numpy membantu menangani tatasusunan. Numpy memproses susunan sedikit lebih pantas berbanding dengan senarai.

Untuk bekerjasama dengan Numpy, anda perlu memasangnya terlebih dahulu. Ikuti langkah-langkah yang diberikan di bawah untuk memasang Numpy.

Langkah 1)

Arahan untuk memasang Numpy adalah:

pip install NumPy

Langkah 2)

Untuk menggunakan Numpy dalam kod anda, anda mesti mengimportnya.

import NumPy

Langkah 3)

Anda juga boleh mengimport Numpy menggunakan alias, seperti gambar di bawah:

import NumPy as np

Kami akan menggunakan kaedah array () dari Numpy untuk membuat matriks python.

Contoh: Array di Numpy untuk membuat Python Matrix

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

Pengeluaran:

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

Operasi Matriks menggunakan Numpy.Array ()

Operasi matriks yang dapat dilakukan adalah penambahan, pengurangan, pendaraban, transposisi, membaca baris, lajur matriks, memotong matriks, dan lain-lain. Dalam semua contoh, kita akan menggunakan kaedah array ().

Penambahan Matriks

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

Contoh:

import numpy as npM1 = 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 + M2print(M3)

Pengeluaran:

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

Penolakan Matriks

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

Contoh:

import numpy as npM1 = 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 - M2print(M3)

Pengeluaran:

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

Pendaraban Matriks

Pertama akan membuat dua matriks menggunakan numpy.arary (). Untuk menggandakannya, anda boleh menggunakan kaedah numpy dot (). Numpy.dot () adalah produk titik matriks M1 dan M2. Numpy.dot () menangani tatasusunan 2D dan melakukan pendaraban matriks.

Contoh:

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

Pengeluaran:

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

Matriks Transpose

Peralihan matriks dikira, dengan mengubah baris sebagai lajur dan lajur sebagai baris. Fungsi transpose () dari Numpy boleh digunakan untuk mengira transpose matriks.

Contoh:

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

Pengeluaran:

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

Kepingan Matriks

Menghiris akan mengembalikan elemen dari matriks berdasarkan indeks permulaan / akhir yang diberikan.

  • Sintaks untuk mengiris adalah - [start: end]
  • Sekiranya indeks permulaan tidak diberikan, ia dianggap sebagai 0. Contohnya [: 5], ini bermaksud sebagai [0: 5].
  • Sekiranya hujungnya tidak dilalui, maka panjangnya akan panjang.
  • Sekiranya permulaan / akhir mempunyai nilai negatif, pemotongan akan dilakukan dari akhir array.

Sebelum kita mengusahakan slice pada matriks, mari kita fahami terlebih dahulu cara menerapkan slice pada array sederhana.

import numpy as nparr = np.array([2,4,6,8,10,12,14,16])print(arr[3:6]) # will print the elements from 3 to 5print(arr[:5]) # will print the elements from 0 to 4print(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 -2print(arr[:-1]) # will print from end i.e. 0 to -2

Pengeluaran:

[ 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 laksanakan pemotongan pada matriks. Untuk melakukan pemotongan pada matriks

sintaksnya akan menjadi M1 [row_start: row_end, col_start: col_end]

  • Permulaan / akhir pertama adalah untuk baris, iaitu untuk memilih baris matriks.
  • Permulaan / akhir kedua adalah untuk lajur, iaitu untuk memilih lajur matriks.

Matriks M1 yang akan kita gunakan adalah seperti berikut:

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

Terdapat 4 baris. Indeks bermula dari 0 hingga 3. 0 th berturut-turut adalah [2,4,6,8,10], 1 st baris adalah [3,6,9, -12, -15] diikuti oleh 2 nd dan 3 rd .

Matriks M1 mempunyai 5 lajur. Indeks bermula dari 0 hingga 4. 0 ke lajur mempunyai nilai-nilai [2,3,4,5], 1 st tiang telah nilai [4,6,8, -10] diikuti oleh 2 nd , 3 rd , 4 th , dan 5hb .

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

Contoh:

import numpy as npM1 = 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.

Pengeluaran:

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

Contoh: Untuk mencetak semua baris dan lajur ketiga

import numpy as npM1 = 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.

Pengeluaran:

[ 8 -12 16 -20]

Contoh: Untuk mencetak baris pertama dan semua lajur

import numpy as npM1 = 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

Pengeluaran:

[[ 2 4 6 8 10]]

Contoh: Untuk mencetak tiga baris pertama dan 2 lajur pertama

import numpy as npM1 = 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])

Pengeluaran:

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

Mengakses NumPy Matrix

Kami telah melihat bagaimana cara kerja memotong. Dengan mempertimbangkannya, kita akan bagaimana mendapatkan baris dan lajur dari matriks.

Untuk mencetak baris matriks

Dalam contoh akan mencetak baris matriks.

Contoh:

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

Pengeluaran:

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

Untuk mendapatkan baris terakhir, anda boleh menggunakan indeks atau -1. Contohnya, matriks mempunyai 3 baris,

jadi M1 [0] akan memberi anda baris pertama,

M1 [1] akan memberi anda barisan kedua

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

Untuk mencetak lajur matriks

import numpy as npM1 = 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 Columnprint(M1[:,3]) # Will print the third Columnprint(M1[:,-1]) # -1 will give you the last column

Pengeluaran:

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

Ringkasan:

  • Matriks Python adalah susunan data segi empat tepat dua dimensi yang tersimpan dalam baris dan lajur. Data dalam matriks boleh berupa nombor, rentetan, ungkapan, simbol, dll. Matriks adalah salah satu struktur data penting yang dapat digunakan dalam pengiraan matematik dan saintifik.
  • Python tidak mempunyai cara yang mudah untuk melaksanakan jenis data matriks. Matriks Python boleh dibuat menggunakan jenis data senarai bersarang dan dengan menggunakan perpustakaan numpy.
  • Perpustakaan python Numpy membantu menangani tatasusunan. Numpy memproses susunan sedikit lebih pantas berbanding dengan senarai.
  • Operasi matriks yang dapat dilakukan adalah penambahan, pengurangan, pendaraban, transposisi, membaca baris, lajur suatu matriks, memotong matriks, dll.
  • Untuk menambah dua matriks, anda boleh menggunakan numpy.array () dan menambahkannya menggunakan operator (+).
  • Untuk menggandakannya, anda boleh menggunakan kaedah numpy dot (). Numpy.dot () adalah produk titik matriks M1 dan M2. Numpy.dot () menangani tatasusunan 2D dan melakukan pendaraban matriks.
  • Peralihan matriks dikira dengan mengubah baris sebagai lajur dan lajur sebagai baris. Fungsi transpose () dari Numpy boleh digunakan untuk mengira transpose matriks.
  • Memotong matriks akan mengembalikan elemen berdasarkan indeks permulaan / akhir yang diberikan.