Python Matrise: Eksempler på Transponering, Multiplikasjon, NumPy-matriser
Hva er Python Matrise?
A Python matrise er en spesialisert todimensjonal rektangulær rekke data lagret i rader og kolonner. Dataene i en matrise kan være tall, strenger, uttrykk, symboler osv. Matrise er en av de viktige datastrukturene som kan brukes i matematiske og vitenskapelige beregninger.
hvordan Python Fungerer matriser?
Dataene inne i den todimensjonale matrisen i matriseformat ser ut som følger:
Trinn 1) Den viser en 2×2 matrise. Den har to rader og 2 kolonner. Dataene inne i matrisen er tall. Rad1 har verdiene 2,3, og rad2 har verdiene 4,5. Kolonnene, dvs. col1, har verdiene 2,4, og col2 har verdiene 3,5.
Trinn 2) Den viser en 2×3 matrise. Den har to rader og tre kolonner. Dataene i den første raden, dvs. rad1, har verdiene 2,3,4, og rad2 har verdiene 5,6,7. Kolonnene col1 har verdiene 2,5, col2 har verdiene 3,6, og col3 har verdiene 4,7.
Så på samme måte kan du ha dataene dine lagret inne i nxn-matrisen Python. Mange operasjoner kan gjøres på en matrise-lignende addisjon, subtraksjon, multiplikasjon, etc.
Python har ikke en enkel måte å implementere en matrisedatatype.
Pythonmatrisen benytter seg av arrays, og det samme kan implementeres.
- Lag en Python Matrise som bruker den nestede listedatatypen
- Opprett Python Matrise ved hjelp av matriser fra Python Numpy pakke
Opprett Python Matrise som bruker en nestet listedatatype
In Python, er matrisene representert ved hjelp av listedatatypen. Så nå vil bruke listen til å lage en pythonmatrise.
Vi vil lage en 3×3 matrise, som vist nedenfor:
- Matrisen har 3 rader og 3 kolonner.
- Den første raden i et listeformat vil være som følger: [8,14,-6]
- Den andre raden i en liste vil være: [12,7,4]
- Den tredje raden i en liste vil være: [-11,3,21]
Matrisen i en liste med alle rader og kolonner er som vist nedenfor:
List = [[Row1], [Row2], [Row3] ... [RowN]]
Så i henhold til matrisen oppført ovenfor er listetypen med matrisedata som følger:
M1 = [[8, 14, -6], [12,7,4], [-11,3,21]]
For å lese data inne Python Matrise ved hjelp av en liste.
Vi vil benytte oss av matrisen definert ovenfor. Eksemplet vil lese dataene, skrive ut matrisen, vise det siste elementet fra hver rad.
Eksempel: For å skrive ut matrisen
M1 = [[8, 14, -6], [12,7,4], [-11,3,21]] #To print the matrix print(M1)
Utgang:
The Matrix M1 = [[8, 14, -6], [12, 7, 4], [-11, 3, 21]]
Eksempel 2: For å lese det siste elementet fra hver rad
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])
Utgang:
-6 4 21
Eksempel 3: For å skrive ut radene i matrisen
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])
Utgang:
[8, 14, -6] [12, 7, 4] [-11, 3, 21]
Legge til matriser ved å bruke Nested List
Vi kan enkelt legge til to gitte matriser. Matrisene her vil være i listeformen. La oss jobbe med et eksempel som vil passe på å legge til de gitte matrisene.
Matrise 1:
M1 = [[8, 14, -6], [12,7,4], [-11,3,21]]
Matrise 2:
M2 = [[3, 16, -6], [9,7,-4], [-1,3,13]]
Last vil initialisere en matrise som vil lagre resultatet av M1 + M2.
Matrise 3:
M3 = [[0,0,0], [0,0,0], [0,0,0]]
Eksempel: Legge til matriser
For å legge til vil matrisene bruke en for-løkke som vil gå gjennom begge matrisene som er gitt.
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)
Utgang:
The sum of Matrix M1 and M2 = [[11, 30, -12], [21, 14, 0], [-12, 6, 34]]
Multiplikasjon av matriser ved hjelp av Nested List
For å multiplisere matrisene kan vi bruke for-løkken på begge matrisene som vist i koden nedenfor:
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)
Utgang:
The multiplication of Matrix M1 and M2 = [[24, 224, 36], [108, 49, -16], [11, 9, 273]]
Opprett Python Matrise ved hjelp av matriser fra Python Numpy pakke
Pythonbiblioteket Numpy hjelper til med å håndtere arrays. Numpy behandler en matrise litt raskere sammenlignet med listen.
For å jobbe med Numpy, må du installere det først. Følg trinnene nedenfor for å installere Numpy.
Trinn 1) Kommandoen for å installere Numpy er:
pip install NumPy
Trinn 2) For å bruke Numpy i koden din, må du importere den.
import NumPy
Trinn 3) Du kan også importere Numpy ved å bruke et alias, som vist nedenfor:
import NumPy as np
Vi skal bruke array()-metoden fra Numpy for å lage en pythonmatrise.
Eksempel: Array i Numpy for å lage Python Matrix
import numpy as np M1 = np.array([[5, -10, 15], [3, -6, 9], [-4, 8, 12]]) print(M1)
Utgang:
[[ 5 -10 15] [ 3 -6 9] [ -4 8 12]]
Matrix Operasjon ved å bruke Numpy.Array()
Matriseoperasjonen som kan gjøres er addisjon, subtraksjon, multiplikasjon, transponering, lesing av rader, kolonner i en matrise, skjæring av matrisen osv. I alle eksemplene skal vi bruke en array()-metode.
Matrisetillegg
For å utføre addisjon på matrisen, vil vi lage to matriser ved å bruke numpy.array() og legge dem til med (+)-operatoren.
Eksempel:
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)
Utgang:
[[ 12 -12 36] [ 16 12 48] [ 6 -12 60]]
Matrisesubtraksjon
For å utføre subtraksjon på matrisen, vil vi lage to matriser ved å bruke numpy.array() og trekke dem fra ved å bruke (-)-operatoren.
Eksempel:
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)
Utgang:
[[ -6 24 -18] [ -6 -32 -18] [-20 40 -18]]
Matrisemultiplikasjon
Først vil lage to matriser ved å bruke numpy.arary(). For å multiplisere dem kan du bruke numpy dot()-metoden. Numpy.dot() er punktproduktet av matrise M1 og M2. Numpy.dot() håndterer 2D-matrisene og utfører matrisemultiplikasjoner.
Eksempel:
import numpy as np M1 = np.array([[3, 6], [5, -10]]) M2 = np.array([[9, -18], [11, 22]]) M3 = M1.dot(M2) print(M3)
Utgang:
[[ 93 78] [ -65 -310]]
Matrix Transponer
Transponeringen av en matrise beregnes ved å endre radene som kolonner og kolonner som rader. Transpose()-funksjonen fra Numpy kan brukes til å beregne transponeringen av en matrise.
Eksempel:
import numpy as np M1 = np.array([[3, 6, 9], [5, -10, 15], [4,8,12]]) M2 = M1.transpose() print(M2)
Utgang:
[[ 3 5 4] [ 6 -10 8] [ 9 15 12]]
Skjæring av en matrise
Slicing vil returnere elementene fra matrisen basert på start-/sluttindeksen som er gitt.
- Syntaksen for skjæring er – [start:slutt]
- Hvis startindeksen ikke er gitt, regnes den som 0. For eksempel [:5], betyr det som [0:5].
- Hvis slutten ikke passeres, vil det ta som lengden på arrayet.
- Hvis start/slutt har negative verdier, vil skjæringen gjøres fra slutten av matrisen.
Før vi jobber med å skjære på en matrise, la oss først forstå hvordan du bruker skive på en enkel matrise.
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
Utgang:
[ 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]
La oss nå implementere skjæring på matrise. For å utføre skjæring på en matrise
syntaksen vil være M1[row_start:row_end, col_start:col_end]
- Første start/slutt vil være for raden, dvs. å velge radene i matrisen.
- Den andre starten/slutten vil være for kolonnen, dvs. å velge kolonnene i matrisen.
Matrisen M1 t som vi skal bruke er som følger:
M1 = np.array([[2, 4, 6, 8, 10], [3, 6, 9, -12, -15], [4, 8, 12, 16, -20], [5, -10, 15, -20, 25]])
Det er totalt 4 rader. Indeksen starter fra 0 til 3. 0th rad er [2,4,6,8,10], 1st rad er [3,6,9,-12,-15] etterfulgt av 2nd og 3rd.
Matrisen M1 har 5 kolonner. Indeksen starter fra 0 til 4. 0th kolonne har verdier [2,3,4,5], 1st kolonner har verdier [4,6,8,-10] etterfulgt av 2nd, 3rd, 4th, og 5th.
Her er et eksempel som viser hvordan du henter rader og kolonnedata fra matrisen ved hjelp av slicing. I eksemplet skriver vi ut 1st og 2nd rad, og for kolonner vil vi ha den første, andre og tredje kolonnen. For å få den utgangen har vi brukt: M1[1:3, 1:4]
Eksempel:
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.
Utgang:
[[ 6 9 -12] [ 8 12 16]]
Eksempel: For å skrive ut alle rader og tredje kolonner
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.
Utgang:
[ 8 -12 16 -20]
Eksempel: For å skrive ut den første raden og alle kolonnene
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
Utgang:
[[ 2 4 6 8 10]]
Eksempel: For å skrive ut de tre første radene og de to første kolonnene
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])
Utgang:
[[2 4] [3 6] [4 8]]
Få tilgang til NumPy Matrix
Vi har sett hvordan skjæring fungerer. Når vi tar det i betraktning, vil vi finne ut hvordan vi får radene og kolonnene fra matrisen.
For å skrive ut radene i matrisen
I eksemplet vil skrive ut radene i matrisen.
Eksempel:
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
Utgang:
[3 6 9] [ 5 -10 15] [ 4 8 12]
For å få den siste raden kan du bruke indeksen eller -1. For eksempel har matrisen 3 rader,
så M1[0] vil gi deg den første raden,
M1[1] vil gi deg andre rad
M1[2] eller M1[-1] vil gi deg den tredje raden eller siste raden.
For å skrive ut kolonnene i matrisen
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
Utgang:
[2 3 4 5] [ 8 -12 16 -20] [ 10 -15 -20 25]
Sammendrag
- A Python matrise er en spesialisert todimensjonal rektangulær rekke data lagret i rader og kolonner. Dataene i en matrise kan være tall, strenger, uttrykk, symboler osv. Matrise er en av de viktige datastrukturene som kan brukes i matematiske og vitenskapelige beregninger.
- Python har ikke en enkel måte å implementere en matrisedatatype. Python matrise kan opprettes ved hjelp av en nestet listedatatype og ved å bruke numpy-biblioteket.
- Pythonbiblioteket Numpy hjelper til med å håndtere arrays. Numpy behandler en matrise litt raskere sammenlignet med listen.
- Matriseoperasjonen som kan gjøres er addisjon, subtraksjon, multiplikasjon, transponering, lesing av rader, kolonner i en matrise, skjæring av matrisen, etc.
- For å legge til to matriser, kan du bruke numpy.array() og legge dem til med (+)-operatoren.
- For å multiplisere vilje, kan du bruke numpy dot()-metoden. Numpy.dot() er punktproduktet av matrise M1 og M2. Numpy.dot() håndterer 2D-matrisene og utfører matrisemultiplikasjoner.
- Transponeringen av en matrise beregnes ved å endre radene som kolonner og kolonner som rader. Transpose()-funksjonen fra Numpy kan brukes til å beregne transponeringen av en matrise.
- Skjæring av en matrise vil returnere elementene basert på start-/sluttindeksen som er gitt.