Što je Python Matrix?
Pythonova matrica je specijalizirani dvodimenzionalni pravokutni niz podataka pohranjenih u retke i stupce. Podaci u matrici mogu biti brojevi, nizovi, izrazi, simboli itd. Matrica je jedna od važnih struktura podataka koja se može koristiti u matematičkim i znanstvenim proračunima.
U ovom vodiču za Python naučit ćete:
- Što je Python Matrix?
- Kako funkcioniraju Python matrice?
- Stvorite Python Matrix pomoću ugniježđenog tipa podataka popisa
- Za čitanje podataka unutar Python Matrixa pomoću popisa.
- Primjer 2: Za čitanje posljednjeg elementa iz svakog retka.
- Primjer 3: Za ispis redaka u Matrici
- Dodavanje matrica pomoću ugniježđenog popisa
- Množenje matrica pomoću ugniježđenog popisa
- Stvorite Python matricu pomoću nizova iz paketa Python Numpy
- Rad matrice pomoću Numpy.Array ()
- Pristup NumPy matrici
Kako funkcioniraju Python matrice?
Podaci unutar dvodimenzionalnog niza u matričnom formatu izgledaju kako slijedi:Korak 1)
Prikazuje matricu 2x2. Ima dva reda i 2 stupca. Podaci unutar matrice su brojevi. Redak1 ima vrijednosti 2,3, a red2 ima vrijednosti 4,5. Stupci, tj. Col1, imaju vrijednosti 2,4, a col2 ima vrijednosti 3,5.
Korak 2)
Prikazuje matricu 2x3. Ima dva reda i tri stupca. Podaci unutar prvog retka, tj. Redak1, imaju vrijednosti 2,3,4, a red2 ima vrijednosti 5,6,7. Stupci col1 imaju vrijednosti 2,5, col2 ima vrijednosti 3,6, a col3 ima vrijednosti 4,7.
Tako slično, možete imati svoje podatke pohranjene unutar nxn matrice u Pythonu. Mnogo se operacija može obaviti na zbrajanju, oduzimanju, množenju, poput matrice, itd.
Python nema jednostavan način za implementaciju matričnog tipa podataka.
Python matrica koristi nizove, a isti se može implementirati.
- Stvorite Python matricu koristeći tip podataka ugniježđenog popisa
- Stvorite Python matricu pomoću nizova iz paketa Python Numpy
Stvorite Python Matrix pomoću ugniježđenog tipa podataka popisa
U Pythonu su nizovi predstavljeni pomoću tipa podataka s popisa. Dakle, sada ćemo se služiti popisom za stvaranje python matrice.
Stvorit ćemo matricu 3x3, kao što je prikazano dolje:
- Matrica ima 3 retka i 3 stupca.
- Prvi redak u formatu popisa bit će sljedeći: [8,14, -6]
- Drugi red na popisu bit će: [12,7,4]
- Treći red na popisu bit će: [-11,3,21]
Matrica unutar popisa sa svim redovima i stupcima prikazana je dolje:
List = [[Row1],[Row2],[Row3]… [RowN]]
Dakle, prema gore navedenoj matrici vrsta popisa s matričnim podacima je sljedeća:
M1 = [[8, 14, -6], [12,7,4], [-11,3,21]]
Za čitanje podataka unutar Python Matrixa pomoću popisa.
Koristit ćemo matricu definiranu gore. Primjer će pročitati podatke, ispisati matricu, prikazati zadnji element iz svakog retka.
Primjer: Za ispis matrice
M1 = [[8, 14, -6],[12,7,4],[-11,3,21]]#To print the matrixprint(M1)
Izlaz:
The Matrix M1 = [[8, 14, -6], [12, 7, 4], [-11, 3, 21]]
Primjer 2: Za čitanje posljednjeg elementa iz svakog retka.
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])
Izlaz:
-6421
Primjer 3: Za ispis redaka u Matrici
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])
Izlaz:
[8, 14, -6][12, 7, 4][-11, 3, 21]
Dodavanje matrica pomoću ugniježđenog popisa
Lako možemo dodati dvije zadane matrice. Ovdje će matrice biti u obliku popisa. Poradimo na primjeru koji će se pobrinuti za dodavanje zadanih matrica.
Matrica 1:
M1 = [[8, 14, -6],[12,7,4],[-11,3,21]]
Matrica 2:
M2 = [[3, 16, -6],[9,7,-4],[-1,3,13]]
Last će inicijalizirati matricu koja će pohraniti rezultat M1 + M2.
Matrica 3:
M3 = [[0,0,0],[0,0,0],[0,0,0]]
Primjer: Dodavanje matrica
Da dodamo, matrice će koristiti for-loop koja će se petljati kroz obje dane matrice.
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)
Izlaz:
The sum of Matrix M1 and M2 = [[11, 30, -12], [21, 14, 0], [-12, 6, 34]]
Množenje matrica pomoću ugniježđenog popisa
Za umnožavanje matrica možemo koristiti for-loop na obje matrice kako je prikazano u donjem kodu:
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)
Izlaz:
The multiplication of Matrix M1 and M2 = [[24, 224, 36], [108, 49, -16], [11, 9, 273]]
Stvorite Python matricu pomoću nizova iz paketa Python Numpy
Python biblioteka Numpy pomaže u rješavanju nizova. Numpy obrađuje niz malo brže u usporedbi s popisom.
Da biste radili s Numpyem, prvo ga morate instalirati. Slijedite korake dane u nastavku da biste instalirali Numpy.
Korak 1)
Naredba za instalaciju Numpyja je:
pip install NumPy
Korak 2)
Da biste koristili Numpy u svom kodu, morate ga uvesti.
import NumPy
Korak 3)
Numpy također možete uvesti pomoću zamjenskog imena, kao što je prikazano u nastavku:
import NumPy as np
Iskoristit ćemo metodu array () iz Numpyja za stvaranje python matrice.
Primjer: Niz u Numpyju za stvaranje Python matrice
import numpy as npM1 = np.array([[5, -10, 15], [3, -6, 9], [-4, 8, 12]])print(M1)
Izlaz:
[[ 5 -10 15][ 3 -6 9][ -4 8 12]]
Rad matrice pomoću Numpy.Array ()
Operacija matrice koja se može izvršiti je zbrajanje, oduzimanje, množenje, transponiranje, čitanje redaka, stupaca matrice, rezanje matrice itd. U svim ćemo primjerima koristiti metodu array ().
Dodavanje matrice
Da bismo izvršili sabiranje na matrici, stvorit ćemo dvije matrice pomoću numpy.array () i dodati ih pomoću (+) operatora.
Primjer:
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)
Izlaz:
[[ 12 -12 36][ 16 12 48][ 6 -12 60]]
Oduzimanje matrice
Da bismo izvršili oduzimanje na matrici, stvorit ćemo dvije matrice pomoću numpy.array () i oduzeti ih pomoću (-) operatora.
Primjer:
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)
Izlaz:
[[ -6 24 -18][ -6 -32 -18][-20 40 -18]]
Množenje matrica
Prvo će stvoriti dvije matrice pomoću numpy.arary (). Da biste ih pomnožili, možete se poslužiti metodom numpy dot (). Numpy.dot () je umnožak matrice M1 i M2. Numpy.dot () obrađuje 2D nizove i izvodi množenje matrica.
Primjer:
import numpy as npM1 = np.array([[3, 6], [5, -10]])M2 = np.array([[9, -18], [11, 22]])M3 = M1.dot(M2)print(M3)
Izlaz:
[[ 93 78][ -65 -310]]
Transpozicija matrice
Transpozicija matrice izračunava se promjenom redaka kao stupaca i stupaca kao redaka. Funkcija transpose () iz Numpyja može se koristiti za izračunavanje transpozicije matrice.
Primjer:
import numpy as npM1 = np.array([[3, 6, 9], [5, -10, 15], [4,8,12]])M2 = M1.transpose()print(M2)
Izlaz:
[[ 3 5 4][ 6 -10 8][ 9 15 12]]
Rezanje matrice
Rezanje će vam vratiti elemente iz matrice na temelju datog indeksa početka / kraja.
- Sintaksa za rezanje je - [početak: kraj]
- Ako indeks početka nije dat, smatra se 0. Na primjer [: 5], znači kao [0: 5].
- Ako kraj nije prošao, trebat će kao dužina niza.
- Ako početak / kraj ima negativne vrijednosti, rezanje će se izvršiti s kraja niza.
Prije nego što započnemo s rezanjem na matrici, prvo shvatimo kako primijeniti rez na jednostavni niz.
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
Izlaz:
[ 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]
Sada ćemo primijeniti rezanje na matrici. Za izvođenje rezanja na matrici
sintaksa će biti M1 [row_start: row_end, col_start: col_end]
- Prvi početak / kraj bit će za redak, tj. Za odabir redaka matrice.
- Drugi početak / kraj bit će za stupac, tj. Za odabir stupaca matrice.
Matrica M1 koju ćemo koristiti je sljedeća:
M1 = np.array([[2, 4, 6, 8, 10],[3, 6, 9, -12, -15],[4, 8, 12, 16, -20],[5, -10, 15, -20, 25]])
Ukupno ima 4 reda. Indeks počinje od 0 do 3. 0 -tog reda je [2,4,6,8,10], 1 st red je [3,6,9, -12, -15] zatim 2 II i 3 rd .
Matrica M1 ima 5 stupaca. Indeks počinje od 0 do 0 4.The th stupcu ima vrijednosti [2,3,4,5], 1 st stupci su vrijednosti [4,6,8, -10] zatim 2 drugom , 3 III , 4 -og , i 5 th .
Evo primjera koji pokazuje kako dobiti podatke o redovima i stupcima iz matrice pomoću rezanja. U primjeru ispisujemo prvi i drugi redak, a za stupce želimo prvi, drugi i treći stupac. Da bismo dobili taj izlaz koristili smo: M1 [1: 3, 1: 4]
Primjer:
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.
Izlaz:
[[ 6 9 -12][ 8 12 16]]
Primjer: Za ispis svih redaka i trećih stupaca
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.
Izlaz:
[ 8 -12 16 -20]
Primjer: Za ispis prvog retka i svih stupaca
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
Izlaz:
[[ 2 4 6 8 10]]
Primjer: Za ispis prva tri retka i prva 2 stupca
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])
Izlaz:
[[2 4][3 6][4 8]]
Pristup NumPy matrici
Vidjeli smo kako rezanje djeluje. Uzimajući to u obzir, mi ćemo kako izvući retke i stupce iz matrice.
Za ispis redaka matrice
U primjeru će se ispisati redovi matrice.
Primjer:
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
Izlaz:
[3 6 9][ 5 -10 15][ 4 8 12]
Da biste dobili zadnji redak, možete upotrijebiti indeks ili -1. Na primjer, matrica ima 3 reda,
pa će vam M1 [0] dati prvi red,
M1 [1] dat će vam drugi red
M1 [2] ili M1 [-1] dat će vam treći ili posljednji red.
Za ispis stupaca matrice
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
Izlaz:
[2 3 4 5][ 8 -12 16 -20][ 10 -15 -20 25]
Sažetak:
- Pythonova matrica je specijalizirani dvodimenzionalni pravokutni niz podataka pohranjenih u retke i stupce. Podaci u matrici mogu biti brojevi, nizovi, izrazi, simboli itd. Matrica je jedna od važnih struktura podataka koja se može koristiti u matematičkim i znanstvenim proračunima.
- Python nema jednostavan način za implementaciju matričnog tipa podataka. Python matrica se može stvoriti pomoću ugniježđenog tipa podataka popisa i pomoću numpy knjižnice.
- Python biblioteka Numpy pomaže u rješavanju nizova. Numpy obrađuje niz malo brže u usporedbi s popisom.
- Operacija matrice koja se može izvršiti je zbrajanje, oduzimanje, množenje, transponiranje, čitanje redaka, stupaca matrice, rezanje matrice itd.
- Da biste dodali dvije matrice, možete upotrijebiti numpy.array () i dodati ih pomoću (+) operatora.
- Da biste ih pomnožili, možete se poslužiti metodom numpy dot (). Numpy.dot () je umnožak matrice M1 i M2. Numpy.dot () obrađuje 2D nizove i izvodi množenje matrica.
- Transpozicija matrice izračunava se promjenom redaka kao stupaca i stupaca kao redaka. Funkcija transpose () iz Numpyja može se koristiti za izračunavanje transpozicije matrice.
- Rezanje matrice vratit će vam elemente na temelju datog indeksa početka / kraja.