Python Matriisi: Transponointi, Kertominen, NumPy-taulukot

⚡ Älykäs yhteenveto

A Python Matriisi on kaksiulotteinen riveistä ja sarakkeista koostuva taulukko, jota käytetään matematiikassa ja luonnontieteissä. Tässä opit luomaan matriiseja sisäkkäisten listojen ja NumPyn avulla sekä suorittamaan yhteen-, kerto-, transponointi- ja viipalointilaskuja.

  • 🔢 Mitä se on: Matriisi on kaksiulotteinen taulukko riveistä ja sarakkeista.
  • 📋 Sisäkkäiset listat: Python matriiseja voidaan rakentaa listojen listana.
  • 🧮 NumPy-taulukot: numpy.array() luo nopeampia ja ominaisuuksiltaan rikkaita matriiseja.
  • ➕ OperaTIONS: Lisää, alatract, ja kerro matriisit operaattoreilla tai numpy.dot():lla.
  • 🔄 Transponoi ja viipaloi: transpose() vaihtaa rivejä ja sarakkeita; viipalointi valitsee alimatriiseja.
  • 🤖 Tekoälyn apu: Tekoälytyökalut, kuten Copilot, luovat matriisi- ja NumPy-koodia välittömästi.

Python Matriisi

Mikä on Python Matriisi?

A Python matriisi on erikoistunut kaksiulotteinen suorakaiteen muotoinen joukko tietoja, jotka on tallennettu riveihin ja sarakkeisiin. Matriisin data voi olla numeroita, merkkijonoja, lausekkeita, symboleja jne. Matriisi on yksi tärkeimmistä tietorakenteista, jota voidaan käyttää matemaattisissa ja tieteellisissä laskelmissa.

Miten Python Matriisit toimivat?

Kaksiulotteisen taulukon sisällä olevat tiedot matriisimuodossa näyttävät tältä:

Python Matriisi

Vaihe 1) Se näyttää 2 × 2 -matriisin. Siinä on kaksi riviä ja 2 saraketta. Matriisin sisällä olevat tiedot ovat numeroita. Rivillä 1 on arvot 2,3 ja rivillä 2 on arvot 4,5. Sarakkeiden eli sarakkeen 1 arvot ovat 2,4 ja col2:n arvot 3,5.

Vaihe 2) Se näyttää 2 × 3 -matriisin. Siinä on kaksi riviä ja kolme saraketta. Ensimmäisen rivin tiedoilla eli rivillä 1 on arvot 2,3,4 ja rivillä 2 on arvot 5,6,7. Sarakkeiden col1 arvot ovat 2,5, col2:n arvot 3,6 ja col3:n arvot 4,7.

Joten samalla tavalla voit tallentaa tietosi nxn-matriisiin PythonMatriisin kaltaiselle yhteenlaskulle, osalaskulle voidaan tehdä paljon laskutoimituksia.trackertolasku jne.

Python ei ole suoraviivaista tapaa toteuttaa matriisitietotyyppiä.

Python-matriisi käyttää taulukoita, ja sama voidaan toteuttaa.

  • Luo Python Matriisi käyttäen sisäkkäistä luettelotietotyyppiä
  • luoda Python Matriisi käyttäen taulukoita kohteesta Python Nuhjuinen paketti

luoda Python Matriisi käyttämällä sisäkkäistä luettelotietotyyppiä

In Python, taulukot esitetään käyttäen listatietotyyppiä. Joten nyt käytetään luetteloa python-matriisin luomiseen.

Luomme 3×3-matriisin alla olevan kuvan mukaisesti:

luoda Python Matriisi sisäkkäisen listan avulla

  • Matriisissa on 3 riviä ja 3 saraketta.
  • Ensimmäinen rivi luettelomuodossa on seuraava: [8,14,-6]
  • Luettelon toinen rivi on: [12,7,4]
  • Luettelon kolmas rivi on: [-11,3,21]

Kaikki rivit ja sarakkeet sisältävän luettelon matriisi on seuraavanlainen:

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

Yllä olevan matriisin mukaan matriisitietojen luettelotyyppi on seuraava:

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

Sisällä olevien tietojen lukemiseen Python Matriisi luettelon avulla.

Käytämme yllä määriteltyä matriisia. Esimerkki lukee tiedot, tulostaa matriisin ja näyttää jokaisen rivin viimeisen elementin.

Esimerkki: Matriisin tulostaminen

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

#To print the matrix
print(M1)

lähtö:

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

Esimerkki 2: Viimeisen elementin lukeminen jokaiselta riviltä

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

lähtö:

-6
4
21

Esimerkki 3: Matriisin rivien tulostaminen

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

lähtö:

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

Matriisien lisääminen sisäkkäisen listan avulla

Voimme helposti lisätä kaksi annettua matriisia. Tässä olevat matriisit ovat luettelomuodossa. Työstetään esimerkkiä, joka huolehtii annettujen matriisien lisäämisestä.

Matriisi 1:

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

Matriisi 2:

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

Last alustaa matriisin, joka tallentaa tuloksen M1 + M2.

Matriisi 3:

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

Esimerkki: Matriisien lisääminen

Lisätään, matriisit käyttävät for-silmukkaa, joka kiertää molempien annettujen matriisien läpi.

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)

lähtö:

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

Matriisien kertominen sisäkkäisluettelolla

Matriisien kertomiseksi voimme käyttää for-silmukkaa molemmissa matriiseissa alla olevan koodin mukaisesti:

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)

lähtö:

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

luoda Python Matriisi käyttäen taulukoita kohteesta Python Nuhjuinen paketti

Python-kirjasto Numpy auttaa käsittelemään taulukoita. Numpy käsittelee taulukon hieman nopeammin kuin luettelo.

Jotta voit työskennellä Numpyn kanssa, sinun on ensin asennettava se. Asenna Numpy noudattamalla alla olevia ohjeita.

Vaihe 1) Numpyn asennuskomento on:

pip install NumPy

Vaihe 2) Jotta voit käyttää Numpya koodissasi, sinun on tuotava se.

import NumPy

Vaihe 3) Voit myös tuoda Numpyn käyttämällä aliasta alla olevan kuvan mukaisesti:

import NumPy as np

Aiomme käyttää Numpyn array()-menetelmää python-matriisin luomiseen.

Esimerkki: Luotava taulukko Numpyssa Python Matriisi

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

lähtö:

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

Matriisi OperaNumpy.Array()

Matriisioperaatio, joka voidaan suorittaa, on yhteenlasku, osalaskutrackertolasku, transponointi, matriisin rivien ja sarakkeiden lukeminen, matriisin viipalointi jne. Kaikissa esimerkeissä käytämme array()-metodia.

Matriisilisäys

Suorittaaksemme matriisin summauksen luomme kaksi matriisia käyttämällä numpy.array()-komentoa ja lisäämme ne käyttämällä (+)-operaattoria.

Esimerkiksi:

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)

lähtö:

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

Matriisin alaosatracTUKSEN

Suorittaaksesi osa-alueentracmatriisin perusteella luomme kaksi matriisia käyttämällä numpy.array()- ja sub-funktioita.tract ne käyttämällä (-)-operaattoria.

Esimerkiksi:

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)

lähtö:

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

Matriisin kertolasku

Ensin luodaan kaksi matriisia käyttämällä numpy.arary(). Voit kertoa niiden tahdon käyttämällä numpy dot() -menetelmää. Numpy.dot() on matriisin M1 ja M2 pistetulo. Numpy.dot() käsittelee 2D-taulukoita ja suorittaa matriisikertoja.

Esimerkiksi:

import numpy as np

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

lähtö:

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

Matriisi Transponoi

Matriisin transponointi lasketaan muuttamalla rivit sarakkeiksi ja sarakkeet riveiksi. Numpyn transpose()-funktiota voidaan käyttää matriisin transponoinnin laskemiseen.

Esimerkiksi:

import numpy as np

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

print(M2)

lähtö:

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

Matrixin viipalointi

Viipalointi palauttaa sinulle elementit matriisista annetun aloitus-/loppuindeksin perusteella.

  • Viipaloinnin syntaksi on – [aloitus:loppu]
  • Jos aloitusindeksiä ei ole annettu, sen katsotaan olevan 0. Esimerkiksi [:5], se tarkoittaa [0:5].
  • Jos loppua ei ohiteta, se otetaan taulukon pituudeksi.
  • Jos alussa/lopussa on negatiiviset arvot, leikkaus tehdään taulukon lopusta.

Ennen kuin käsittelemme matriisin viipalointia, meidän on ensin ymmärrettävä, kuinka siivua käytetään yksinkertaisessa taulukossa.

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

lähtö:

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

Toteutetaan nyt viipalointi matriisissa. Viipaloinnin suorittaminen matriisilla

syntaksi on M1[rivin_aloitus:rivin_loppu, sarakkeen_aloitus:sarakkeen_loppu]

  • Ensimmäinen aloitus/loppu on riville eli matriisin rivien valitsemiseen.
  • Toinen alku/loppu on sarakkeelle, eli matriisin sarakkeiden valitsemiseen.

Matriisi M1, jota aiomme käyttää, on seuraava:

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

Rivejä on yhteensä 4. Indeksi alkaa 0 - 3. 0th rivi on [2,4,6,8,10], 1st rivi on [3,6,9,-12,-15], jota seuraa 2nd ja 3rd.

Matriisissa M1 on 5 saraketta. Indeksi alkaa 0:sta 4:ään. 0th sarakkeessa on arvot [2,3,4,5], 1st sarakkeissa on arvot [4,6,8,-10], joita seuraa 2nd, 3rd, 4th, ja 5th.

Tässä on esimerkki, joka näyttää kuinka saada rivi- ja saraketiedot matriisista viipaloimalla. Esimerkissä tulostamme 1st ja 2nd riville, ja sarakkeille haluamme ensimmäisen, toisen ja kolmannen sarakkeen. Tämän lähdön saamiseksi olemme käyttäneet: M1[1:3, 1:4]

Esimerkiksi:

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.

lähtö:

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

Esimerkki: Tulostaa kaikki rivit ja kolmannet sarakkeet

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.

lähtö:

[  8 -12  16 -20]

Esimerkki: Ensimmäisen rivin ja kaikkien sarakkeiden tulostaminen

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

lähtö:

[[ 2  4  6  8 10]]

Esimerkki: Tulostaa kolme ensimmäistä riviä ja kaksi ensimmäistä saraketta

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

lähtö:

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

NumPy Matrixin käyttö

Olemme nähneet kuinka viipalointi toimii. Ottaen tämän huomioon, teemme kuinka saada rivit ja sarakkeet matriisista.

Tulostaa matriisin rivit

Esimerkissä tulostetaan matriisin rivit.

Esimerkiksi:

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

lähtö:

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

Viimeisen rivin saamiseksi voit käyttää indeksiä tai -1:tä. Esimerkiksi matriisissa on 3 riviä,

joten M1[0] antaa sinulle ensimmäisen rivin,

M1[1] antaa sinulle toisen rivin

M1[2] tai M1[-1] antaa sinulle kolmannen tai viimeisen rivin.

Tulostaa matriisin sarakkeet

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

lähtö:

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

UKK

Matriisi on kaksiulotteinen suorakaiteen muotoinen datataulukko, joka on järjestetty riveihin ja sarakkeisiin. Python ei sisällä sisäänrakennettua matriisityyppiä, joten käytät sisäkkäisiä listoja tai NumPy-kirjastoa.

Luo matriisi sisäkkäisenä listana, kuten [[8, 14, -6], [12, 7, 4]], tai numpy.array():lla saadaksesi nopeamman ja tehokkaamman matriisin, joka tukee sisäänrakennettuja operaatioita.

NumPy käsittelee taulukoita nopeammin kuin tavallisia listoja ja tarjoaa sisäänrakennettuja matriisioperaatioita, kuten yhteenlaskun, pistetulon, transponoinnin ja viipaloinnin, mikä tekee matriisikoodista lyhyemmän ja tehokkaamman.

Todelliseen matriisien kertolaskuun käytä numpy.dot(M1, M2) tai M1.dot(M2). NumPy-taulukoiden plus- ja tähtioperaattorit suorittavat sen sijaan elementtikohtaisen yhteen- ja kertolaskun.

Kutsu transpose()-metodia NumPy-taulukolle, kuten M1.transpose(). Se vaihtaa rivit ja sarakkeet, jolloin rivillä i, sarakkeessa j oleva elementti siirtyy riville j, sarakkeeseen i.

Tekoälyavustajat, kuten GitHub Copilot, täydentävät NumPy-taulukkokoodia automaattisesti, luovat matriisioperaatioita, kuten pistetuloja ja transponointeja, ja selittävät viipalointisyntaksia kirjoittaessasi. Python.

Kyllä. Tekoälyllä toimivat työkalut voivat automatisoida NumPy-prosessien kirjoittamisen, valita tehokkaita vektorioperaatioita silmukoiden sijaan ja luoda koodia lineaarialgebratehtäviin, kuten yhtälöryhmien ratkaisemiseen.

Käytä M1[row_start:row_end, col_start:col_end] valitaksesi alimatriisin. Alun tai lopun poisjättäminen käyttää taulukon rajoja, ja negatiiviset indeksit lasketaan lopusta.

Tiivistä tämä viesti seuraavasti: