Python Maatriks: transponeerimine, korrutamine, NumPy massiivid

โšก Nutikas kokkuvรตte

A Python Maatriks on kahemรตรตtmeline andmete massiiv ridades ja veergudes, mida kasutatakse matemaatikas ja loodusteadustes. Siin รตpid looma maatrikseid pesastatud loendite ja NumPy abil ning tegema liitmist, korrutamist, transponeerimist ja viilutamist.

  • ๐Ÿ”ข Mis see on: Maatriks on kahemรตรตtmeline andmete tabel ridades ja veergudes.
  • ???? Pesastatud loendid: Python Maatriksit saab luua loendite loendina.
  • ๐Ÿงฎ NumPy massiivid: numpy.array() loob kiiremaid ja funktsiooniderikkamaid maatrikseid.
  • โž• Operatused: Lisa, alamtract ja korrutage maatriksid operaatorite vรตi numpy.dot() abil.
  • ๐Ÿ”„ Transponeerimine ja viilutamine: transpose() vahetab ridu ja veerge; viilutamine valib alammaatriksid.
  • ๐Ÿค– Tehisintellekti abi: Tehisintellekti tรถรถriistad, nรคiteks Copilot, genereerivad maatriksi- ja NumPy-koodi koheselt.

Python maatriks

Mis on Python Maatriks?

A Python maatriks on spetsiaalne kahemรตรตtmeline ristkรผlikukujuline ridadesse ja veergudesse salvestatud andmete massiiv. Maatriksi andmeteks vรตivad olla numbrid, stringid, avaldised, sรผmbolid jne. Maatriks on รผks olulisi andmestruktuure, mida saab kasutada matemaatilistes ja teaduslikes arvutustes.

Kuidas Python Kas maatriksid tรถรถtavad?

Kahemรตรตtmelises massiivis olevad andmed maatriksvormingus nรคevad vรคlja jรคrgmised:

Python maatriks

Step 1) See nรคitab 2 ร— 2 maatriksit. Sellel on kaks rida ja 2 veergu. Maatriksi sees olevad andmed on numbrid. Rea 1 vรครคrtused on 2,3 ja real 2 vรครคrtused 4,5. Veergude, st col1 vรครคrtused on 2,4 ja veergudel 2 on vรครคrtused 3,5.

Step 2) See nรคitab 2 ร— 3 maatriksit. Sellel on kaks rida ja kolm veergu. Esimeses reas, st reas1, on vรครคrtused 2,3,4 ja reas 2 on vรครคrtused 5,6,7. Veergudel col1 on vรครคrtused 2,5, veergudel 2 on vรครคrtused 3,6 ja veergudel 3 on vรครคrtused 4,7.

Nii saate oma andmed salvestada nxn-maatriksisse PythonMaatriksilaadse liitmise, alamjaotuse abil saab teha palju tehteid.tractsioon, korrutamine jne.

Python pole maatriksi andmetรผรผbi rakendamiseks otsest viisi.

Pythoni maatriks kasutab massiive ja sama saab rakendada.

  • Loo Python Maatriks, mis kasutab pesastatud loendi andmetรผรผpi
  • Looma Python Maatriks kasutades massiive alates Python Tubli pakett

Looma Python Maatriks, mis kasutab pesastatud loendi andmetรผรผpi

In Python, on massiivid esitatud loendi andmetรผรผbi abil. Nii et nรผรผd kasutab loendit Pythoni maatriksi loomiseks.

Loome 3 ร— 3 maatriksi, nagu allpool nรคidatud:

Looma Python Maatriks kasutades pesastatud loendit

  • Maatriksis on 3 rida ja 3 veergu.
  • Esimene rida loendivormingus on jรคrgmine: [8,14,-6]
  • Loendi teine โ€‹โ€‹rida on: [12,7,4]
  • Loendi kolmas rida on: [-11,3,21]

Kรตikide ridade ja veergudega loendis olev maatriks on jรคrgmine:

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

Eespool loetletud maatriksi kohaselt on maatriksiandmetega loendi tรผรผp jรคrgmine:

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

Sees olevate andmete lugemiseks Python Maatriks, kasutades loendit.

Kasutame รผlaltoodud maatriksit. Nรคide loeb andmeid, prindib maatriksi, kuvab iga rea โ€‹โ€‹viimase elemendi.

Nรคide: maatriksi printimiseks

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

#To print the matrix
print(M1)

Vรคljund:

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

Nรคide 2: iga rea โ€‹โ€‹viimase elemendi lugemine

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

Vรคljund:

-6
4
21

Nรคide 3: Maatriksi ridade printimiseks

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

Vรคljund:

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

Maatriksite lisamine pesastatud loendi abil

Saame lihtsalt lisada kaks etteantud maatriksit. Siin olevad maatriksid on loendi kujul. Tรถรถtame nรคite kallal, mis lisab etteantud maatriksid.

Maatriks 1:

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

Maatriks 2:

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

Last initsialiseerib maatriksi, mis salvestab M1 + M2 tulemuse.

Maatriks 3:

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

Nรคide: maatriksite lisamine

Lisamiseks kasutavad maatriksid for-tsรผklit, mis lรคbib mรตlema antud maatriksi.

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)

Vรคljund:

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

Maatriksite korrutamine pesastatud loendi abil

Maatriksite korrutamiseks saame mรตlemas maatriksis kasutada for-tsรผklit, nagu on nรคidatud allolevas koodis:

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)

Vรคljund:

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

Looma Python Maatriks kasutades massiive alates Python Tubli pakett

Pythoni raamatukogu Numpy aitab massiividega toime tulla. Numpy tรถรถtleb massiivi loendiga vรตrreldes pisut kiiremini.

Numpyga tรถรถtamiseks peate selle esmalt installima. Numpy installimiseks jรคrgige alltoodud samme.

Step 1) Numpy installimise kรคsk on jรคrgmine:

pip install NumPy

Step 2) Numpy kasutamiseks oma koodis peate selle importima.

import NumPy

Step 3) Numpy saate importida ka varjunime abil, nagu allpool nรคidatud:

import NumPy as np

Kasutame Pythoni maatriksi loomiseks Numpy meetodit array().

Nรคide: luuakse massiiv Numpys Python maatriks

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

Vรคljund:

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

maatriks OperaNumpy.Array() abil

Maatriksitest saab teha liitmise, osamakse jatracmaatriksi arvutamine, korrutamine, transponeerimine, ridade ja veergude lugemine, maatriksi viilutamine jne. Kรตigis nรคidetes kasutame array() meetodit.

Maatriksi lisamine

Maatriksi liitmise tegemiseks loome numpy.array() abil kaks maatriksit ja lisame need operaatori (+) abil.

Nรคide:

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)

Vรคljund:

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

Maatriksi alamtracmine

Alamrubriigi tรคitmisekstracmaatriksi pรตhjal loome kaks maatriksit, kasutades numpy.array() ja subtracneid operaatori (-) abil.

Nรคide:

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)

Vรคljund:

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

Maatrikskorrutamine

Esmalt loob numpy.arary() abil kaks maatriksit. Nende tahte korrutamiseks vรตite kasutada numpy dot() meetodit. Numpy.dot() on maatriksi M1 ja M2 punktkorrutis. Numpy.dot() tegeleb 2D-massiividega ja teostab maatrikskorrutusi.

Nรคide:

import numpy as np

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

Vรคljund:

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

Maatriksi transponeerimine

Maatriksi transponeerimine arvutatakse, muutes ridu veergudena ja veerge ridadena. Numpy funktsiooni transpose() saab kasutada maatriksi transponeerimise arvutamiseks.

Nรคide:

import numpy as np

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

print(M2)

Vรคljund:

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

Maatriksi viilutamine

Viilutamine tagastab teile maatriksi elemendid antud algus-/lรตpuindeksi alusel.

  • Tรผkeldamise sรผntaks on โ€“ [start:end]
  • Kui algusindeksit pole antud, loetakse see 0-ks. Nรคiteks [:5] tรคhendab see kui [0:5].
  • Kui lรตppu ei lรคbita, vรตetakse see massiivi pikkuseks.
  • Kui algus/lรตpp on negatiivsete vรครคrtustega, tehakse viilutamine massiivi lรตpust.

Enne maatriksil viilutamise kallal tรถรถtamist mรตistkem kรตigepealt, kuidas lihtsale massiivile viilu rakendada.

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

Vรคljund:

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

Nรผรผd rakendame maatriksil viilutamist. Maatriksil viilutamiseks

sรผntaks on M1[rea_algus:rea_lรตpp, veergu_algus:veeru_lรตpp]

  • Esimene algus/lรตpp on rea jaoks ehk maatriksi ridade valimiseks.
  • Teine algus/lรตpp on veeru jaoks ehk maatriksi veergude valimiseks.

Maatriks M1, mida kavatseme kasutada, on jรคrgmine:

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

Kokku on 4 rida. Indeks algab 0-st 3-ni. 0th rida on [2,4,6,8,10], 1st rida on [3,6,9,-12,-15], millele jรคrgneb 2nd ja 3rd.

Maatriksil M1 on 5 veergu. Indeks algab 0-st 4-ni. 0th veerus on vรครคrtused [2,3,4,5], 1st veergudel on vรครคrtused [4,6,8,-10], millele jรคrgneb 2nd, 3rd, 4thja 5th.

Siin on nรคide, mis nรคitab, kuidas maatriksist ridade ja veergude andmeid viilutamise abil hankida. Nรคites prindime 1st ja 2nd rida ning veergude jaoks tahame esimest, teist ja kolmandat veergu. Selle vรคljundi saamiseks oleme kasutanud: M1[1:3, 1:4]

Nรคide:

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.

Vรคljund:

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

Nรคide: kรตigi ridade ja kolmandate veergude printimiseks

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.

Vรคljund:

[  8 -12  16 -20]

Nรคide: esimese rea ja kรตigi veergude printimiseks

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

Vรคljund:

[[ 2  4  6  8 10]]

Nรคide: esimese kolme rea ja 2 esimese veeru printimiseks

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

Vรคljund:

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

Juurdepรครคs NumPy Matrixile

Oleme nรคinud, kuidas viilutamine tรถรถtab. Seda arvesse vรตttes uurime, kuidas maatriksist ridu ja veerge hankida.

Maatriksi ridade printimiseks

Nรคites trรผkitakse maatriksi read.

Nรคide:

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

Vรคljund:

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

Viimase rea saamiseks vรตite kasutada indeksit vรตi -1. Nรคiteks maatriksis on 3 rida,

nii et M1[0] annab teile esimese rea,

M1[1] annab teile teise rea

M1[2] vรตi M1[-1] annab teile kolmanda vรตi viimase rea.

Maatriksi veergude printimiseks

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

Vรคljund:

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

KKK

Maatriks on kahemรตรตtmeline ristkรผlikukujuline andmete tabel, mis on paigutatud ridadesse ja veergudesse. Python puudub sisseehitatud maatriksitรผรผp, seega kasutate pesastatud loendeid vรตi NumPy teeki.

Loo maatriks pesastatud loendina, nรคiteks [[8, 14, -6], [12, 7, 4]] vรตi numpy.array() abil kiirema ja vรตimsama maatriksi loomiseks, mis toetab sisseehitatud tehteid.

NumPy tรถรถtleb massiive kiiremini kui tavalisi loendeid ja pakub sisseehitatud maatriksioperatsioone nagu liitmine, skalaarkorrutis, transponeerimine ja viilutamine, muutes maatriksikoodi lรผhemaks ja tรตhusamaks.

Maatriksite tรตeliseks korrutamiseks kasutage numpy.dot(M1, M2) vรตi M1.dot(M2). NumPy massiivide pluss- ja tรคrnoperaatorid teostavad hoopis elementide kaupa liitmist ja korrutamist.

Kutsu NumPy massiivil vรคlja transpose() meetodi, nรคiteks M1.transpose(). See vahetab read ja veerud, nii et rea i, veeru j element liigub rea j, veeru i peale.

Tehisintellekti assistendid, nรคiteks GitHub Copilot, tรคidavad NumPy massiivi koodi automaatselt, genereerivad maatriksioperatsioone, nรคiteks skalaarkorrutisi ja transponeerimisi, ning selgitavad viilutamise sรผntaksit kirjutamise ajal. Python.

Jah. Tehisintellektil pรตhinevad tรถรถriistad suudavad automatiseerida NumPy torujuhtmete kirjutamist, valida tsรผklite asemel tรตhusaid vektoriseeritud operatsioone ja genereerida koodi lineaaralgebra รผlesannete jaoks, nรคiteks vรตrrandisรผsteemide lahendamiseks.

Alammaatriksi valimiseks kasutage funktsiooni M1[row_start:row_end, col_start:col_end]. Alguse vรตi lรตpu vรคljajรคtmine kasutab massiivi piire ja negatiivsed indeksid loetakse lรตpust.

Vรตta see postitus kokku jรคrgmiselt: