Python Matrise: Transponer, Multipliker, NumPy-matriser

โšก Smart oppsummering

A Python En matrise er en todimensjonal matrise av data i rader og kolonner, brukt i matematikk og naturfag. Her lรฆrer du รฅ lage matriser med nestede lister og NumPy, og utfรธre addisjon, multiplikasjon, transponering og slicing.

  • ๐Ÿ”ข Hva det er: En matrise er en todimensjonal matrise av data i rader og kolonner.
  • ???? Nestede lister: Python Matriser kan bygges som en liste av lister.
  • ๐Ÿงฎ NumPy-matriser: numpy.array() lager raskere, funksjonsrike matriser.
  • โž• Operatjoner: Legg til, deltract, og multipliser matriser med operatorer eller numpy.dot().
  • ๐Ÿ”„ Transponer og skjรฆr: transpose() bytter rader og kolonner; slicing velger delmatriser.
  • ๐Ÿค– AI-hjelp: AI-verktรธy som Copilot genererer matrise- og NumPy-kode umiddelbart.

Python Matrix

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:

Python Matrix

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 PythonMange operasjoner kan utfรธres pรฅ en matriselignende addisjon, subtracsjon, multiplikasjon osv.

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:

Opprett Python Matrise ved hjelp av en nestet liste

  • 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 utfรธres er addisjon, subtraksjontracsjon, multiplikasjon, transponering, lesing av rader og kolonner i en matrise, oppdeling 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]]

Matrise-subtracsjon

ร… utfรธre subtracsjon pรฅ matrisen, vil vi lage to matriser ved hjelp av numpy.array() og subtract dem ved hjelp av (-)-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]

Spรธrsmรฅl og svar

En matrise er en todimensjonal rektangulรฆr matrise med data arrangert i rader og kolonner. Python har ingen innebygd matrisetype, sรฅ du bruker nestede lister eller NumPy-biblioteket.

Lag en matrise som en nestet liste, som [[8, 14, -6], [12, 7, 4]], eller med numpy.array() for en raskere og kraftigere matrise som stรธtter innebygde operasjoner.

NumPy behandler arrayer raskere enn vanlige lister og tilbyr innebygde matriseoperasjoner som addisjon, punktprodukt, transponering og slicing, noe som gjรธr matrisekode kortere og mer effektiv.

For ekte matrisemultiplikasjon, bruk numpy.dot(M1, M2) eller M1.dot(M2). Pluss- og stjerneoperatorene pรฅ NumPy-arrayer utfรธrer elementvis addisjon og multiplikasjon i stedet.

Kall transpose()-metoden pรฅ en NumPy-matrise, for eksempel M1.transpose(). Den bytter rader og kolonner, slik at elementet i rad i, kolonne j flyttes til rad j, kolonne i.

AI-assistenter som GitHub Copilot fullfรธrer NumPy-arraykode automatisk, genererer matriseoperasjoner som punktprodukter og transponeringer, og forklarer slicing-syntaks mens du skriver. Python.

Ja. AI-drevne verktรธy kan automatisere skriving av NumPy-pipelines, velge effektive vektoriserte operasjoner fremfor lรธkker og generere kode for lineรฆre algebraoppgaver som รฅ lรธse ligningssystemer.

Bruk M1[row_start:row_end, col_start:col_end] for รฅ velge en undermatrise. Hvis du utelater en start eller slutt, brukes arraygrensene, og negative indekser telles fra slutten.

Oppsummer dette innlegget med: