Industriële fabricage
Industrieel internet der dingen | Industriële materialen | Onderhoud en reparatie van apparatuur | Industriële programmering |
home  MfgRobots >> Industriële fabricage >  >> Industrial programming >> Python

Python-matrix:voorbeelden van transponeren, vermenigvuldigen, NumPy-arrays

Wat is Python Matrix?

Een Python-matrix is ​​een gespecialiseerde tweedimensionale rechthoekige reeks gegevens die is opgeslagen in rijen en kolommen. De gegevens in een matrix kunnen getallen, tekenreeksen, uitdrukkingen, symbolen, enz. zijn. Matrix is ​​een van de belangrijke gegevensstructuren die in wiskundige en wetenschappelijke berekeningen kunnen worden gebruikt.

In deze Python-tutorial leer je:

  • Wat is Python Matrix?
  • Hoe werken Python-matrices?
  • Maak Python Matrix met behulp van een geneste lijstgegevenstype
  • Om gegevens in Python Matrix te lezen met behulp van een lijst.
  • Voorbeeld 2:om het laatste element van elke rij te lezen.
  • Voorbeeld 3:Om de rijen in de Matrix af te drukken
  • Matrices toevoegen met behulp van geneste lijst
  • Vermenigvuldiging van matrices met behulp van geneste lijst
  • Maak Python-matrix met behulp van arrays uit het Python Numpy-pakket
  • Matrixbewerking met Numpy.Array()
  • Toegang tot NumPy Matrix

Hoe werken Python-matrices?

De gegevens in de tweedimensionale array in matrixformaat zien er als volgt uit:

Stap 1)

Het toont een 2×2 matrix. Het heeft twee rijen en 2 kolommen. De gegevens in de matrix zijn getallen. De rij1 heeft waarden 2,3 en rij2 heeft waarden 4,5. De kolommen, d.w.z. col1, hebben waarden 2,4 en col2 heeft waarden 3,5.

Stap 2)

Het toont een 2×3 matrix. Het heeft twee rijen en drie kolommen. De gegevens in de eerste rij, d.w.z. rij1, heeft waarden 2,3,4 en rij2 heeft waarden 5,6,7. De kolommen col1 heeft waarden 2,5, col2 heeft waarden 3,6 en col3 heeft waarden 4,7.

Op dezelfde manier kunt u uw gegevens in Python in de nxn-matrix laten opslaan. Er kunnen veel bewerkingen worden uitgevoerd op een matrixachtige optelling, aftrekking, vermenigvuldiging, enz.

Python heeft geen eenvoudige manier om een ​​matrixgegevenstype te implementeren.

De python-matrix maakt gebruik van arrays en hetzelfde kan worden geïmplementeerd.

  • Maak een Python-matrix met behulp van het gegevenstype geneste lijst
  • Maak Python-matrix met behulp van arrays uit het Python Numpy-pakket

Maak Python Matrix met behulp van een geneste lijstgegevenstype

In Python worden de arrays weergegeven met behulp van het lijstgegevenstype. Dus zal nu de lijst gebruiken om een ​​python-matrix te maken.

We zullen een 3×3 matrix maken, zoals hieronder weergegeven:

  • De matrix heeft 3 rijen en 3 kolommen.
  • De eerste rij in een lijstindeling is als volgt:[8,14,-6]
  • De tweede rij in een lijst is:[12,7,4]
  • De derde rij in een lijst is:[-11,3,21]

De matrix in een lijst met alle rijen en kolommen ziet er als volgt uit:

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

Dus volgens de bovenstaande matrix is ​​het lijsttype met matrixgegevens als volgt:

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

Om gegevens in Python Matrix te lezen met behulp van een lijst.

We zullen gebruik maken van de hierboven gedefinieerde matrix. Het voorbeeld leest de gegevens, drukt de matrix af en geeft het laatste element van elke rij weer.

Voorbeeld:om de matrix af te drukken

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

#To print the matrix
print(M1)

Uitgang:

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

Voorbeeld 2:om het laatste element van elke rij te lezen.

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

Uitgang:

-6
4
21

Voorbeeld 3:Om de rijen in de Matrix af te drukken

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

Uitgang:

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

Matrices toevoegen met behulp van geneste lijst

We kunnen gemakkelijk twee gegeven matrices toevoegen. De matrices zijn hier in de lijstvorm. Laten we aan een voorbeeld werken dat ervoor zorgt dat de gegeven matrices worden toegevoegd.

Matrix 1:

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

Matrix 2:

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

Last initialiseert een matrix die het resultaat van M1 + M2 opslaat.

Matrix 3:

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

Voorbeeld:Matrices toevoegen

Om toe te voegen, zullen de matrices gebruik maken van een for-lus die door beide gegeven matrices zal lopen.

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)

Uitgang:

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

Vermenigvuldiging van matrices met behulp van geneste lijst

Om de matrices te vermenigvuldigen, kunnen we de for-lus op beide matrices gebruiken, zoals weergegeven in de onderstaande code:

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)

Uitgang:

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

Maak een Python-matrix met behulp van arrays uit het Python Numpy-pakket

De Python-bibliotheek Numpy helpt bij het omgaan met arrays. Numpy verwerkt een array iets sneller in vergelijking met de lijst.

Om met Numpy te werken, moet u het eerst installeren. Volg de onderstaande stappen om Numpy te installeren.

Stap 1)

Het commando om Numpy te installeren is:

pip install NumPy

Stap 2)

Om Numpy in uw code te gebruiken, moet u deze importeren.

import NumPy

Stap 3)

Je kunt Numpy ook importeren met een alias, zoals hieronder weergegeven:

import NumPy as np

We gaan de methode array() van Numpy gebruiken om een ​​python-matrix te maken.

Voorbeeld:Array in Numpy om Python Matrix te maken

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

Uitgang:

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

Matrixbewerking met Numpy.Array()

De matrixbewerking die kan worden uitgevoerd, is optellen, aftrekken, vermenigvuldigen, transponeren, de rijen, kolommen van een matrix lezen, de matrix in plakken snijden, enz. In alle voorbeelden gaan we gebruik maken van een array()-methode.

Matrix-toevoeging

Om optellen op de matrix uit te voeren, zullen we twee matrices maken met numpy.array() en deze toevoegen met de (+) operator.

Voorbeeld:

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)

Uitgang:

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

Matrix aftrekken

Om aftrekken op de matrix uit te voeren, zullen we twee matrices maken met numpy.array() en ze aftrekken met de (-) operator.

Voorbeeld:

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)

Uitgang:

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

Matrixvermenigvuldiging

Maak eerst twee matrices met numpy.arary(). Om ze te vermenigvuldigen, kunt u gebruik maken van de numpy dot()-methode. Numpy.dot() is het puntproduct van matrix M1 en M2. Numpy.dot() verwerkt de 2D-arrays en voert matrixvermenigvuldigingen uit.

Voorbeeld:

import numpy as np

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

Uitgang:

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

Matrix transponeren

De transponering van een matrix wordt berekend door de rijen als kolommen en kolommen als rijen te veranderen. De transponeer()-functie van Numpy kan worden gebruikt om de transponering van een matrix te berekenen.

Voorbeeld:

import numpy as np

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

print(M2)

Uitgang:

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

Het snijden van een matrix

Door te snijden krijgt u de elementen uit de matrix terug op basis van de gegeven begin-/eindindex.

  • De syntaxis voor het snijden is – [start:end]
  • Als de startindex niet wordt gegeven, wordt deze als 0 beschouwd. Bijvoorbeeld [:5] betekent dit als [0:5].
  • Als het einde niet wordt doorgegeven, duurt het even lang als de array.
  • Als het begin/einde negatieve waarden heeft, wordt het snijden vanaf het einde van de array gedaan.

Voordat we aan het slicen op een matrix gaan werken, moeten we eerst begrijpen hoe we slice op een eenvoudige array kunnen toepassen.

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

Uitgang:

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

Laten we nu slicen op matrix implementeren. Snijden op een matrix

de syntaxis is M1[row_start:row_end, col_start:col_end]

  • Het eerste begin/einde is voor de rij, d.w.z. om de rijen van de matrix te selecteren.
  • Het tweede begin/einde is voor de kolom, d.w.z. om de kolommen van de matrix te selecteren.

De matrix M1 die we gaan gebruiken is als volgt:

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

Er zijn in totaal 4 rijen. De index begint van 0 tot 3. De 0 de rij is de [2,4,6,8,10], 1 st rij is [3,6,9,-12,-15] gevolgd door 2 nd en 3 de .

De matrix M1 heeft 5 kolommen. De index begint van 0 tot 4.De 0 de kolom heeft waarden [2,3,4,5], 1 st kolommen hebben waarden [4,6,8,-10] gevolgd door 2 nd , 3 de , 4 de , en 5 de .

Hier is een voorbeeld dat laat zien hoe u de rij- en kolomgegevens uit de matrix haalt met behulp van slicen. In het voorbeeld drukken we de 1 e . af en 2 de rij, en voor kolommen willen we de eerste, tweede en derde kolom. Om die output te krijgen hebben we gebruikt:M1[1:3, 1:4]

Voorbeeld:

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.

Uitgang:

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

Voorbeeld:om alle rijen en derde kolommen af ​​te drukken

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.

Uitgang:

[  8 -12  16 -20]

Voorbeeld:om de eerste rij en alle kolommen af ​​te drukken

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

Uitgang:

[[ 2  4  6  8 10]]

Voorbeeld:om de eerste drie rijen en de eerste 2 kolommen af ​​te drukken

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

Uitgang:

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

Toegang tot NumPy Matrix

We hebben gezien hoe snijden werkt. Als we dat in overweging nemen, zullen we zien hoe we de rijen en kolommen uit de matrix kunnen halen.

Om de rijen van de matrix af te drukken

In het voorbeeld worden de rijen van de matrix afgedrukt.

Voorbeeld:

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

Uitgang:

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

Om de laatste rij te krijgen, kunt u gebruik maken van de index of -1. De matrix heeft bijvoorbeeld 3 rijen,

dus M1[0] geeft je de eerste rij,

M1[1] geeft je de tweede rij

M1[2] of M1[-1] geeft je de derde rij of laatste rij.

Om de kolommen van de matrix af te drukken

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

Uitgang:

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

Samenvatting:

  • Een Python-matrix is ​​een gespecialiseerde tweedimensionale rechthoekige reeks gegevens die is opgeslagen in rijen en kolommen. De gegevens in een matrix kunnen getallen, tekenreeksen, uitdrukkingen, symbolen, enz. zijn. Matrix is ​​een van de belangrijke gegevensstructuren die in wiskundige en wetenschappelijke berekeningen kunnen worden gebruikt.
  • Python heeft geen eenvoudige manier om een ​​matrixgegevenstype te implementeren. Python-matrix kan worden gemaakt met behulp van een geneste lijstgegevenstype en met behulp van de numpy-bibliotheek.
  • De Python-bibliotheek Numpy helpt bij het omgaan met arrays. Numpy verwerkt een array iets sneller in vergelijking met de lijst.
  • De matrixbewerking die kan worden uitgevoerd, is optellen, aftrekken, vermenigvuldigen, transponeren, de rijen, kolommen van een matrix lezen, de matrix in plakken snijden, enz.
  • Om twee matrices toe te voegen, kun je numpy.array() gebruiken en ze toevoegen met de (+) operator.
  • Om ze te vermenigvuldigen, kun je de numpy dot()-methode gebruiken. Numpy.dot() is het puntproduct van matrix M1 en M2. Numpy.dot() verwerkt de 2D-arrays en voert matrixvermenigvuldigingen uit.
  • De transponering van een matrix wordt berekend door de rijen als kolommen en kolommen als rijen te veranderen. De transponeer()-functie van Numpy kan worden gebruikt om de transponering van een matrix te berekenen.
  • Als je een matrix snijdt, krijg je de elementen terug op basis van de gegeven begin-/eindindex.

Python

  1. Python-woordenboek
  2. Arrays in C++ | Verklaren | Initialiseren | Aanwijzer naar matrixvoorbeelden
  3. Python Print()-instructie:afdrukken met voorbeelden
  4. Python String count() met VOORBEELDEN
  5. Python String format() Leg uit met VOORBEELDEN
  6. Methode Python String find() met voorbeelden
  7. Python Lambda-functies met VOORBEELDEN
  8. Python abs() Functie:Voorbeelden van absolute waarden
  9. Python round() functie met VOORBEELDEN
  10. Python range() Functie:Float, List, For loop Voorbeelden
  11. Python map() functie met VOORBEELDEN