Manufaturação industrial
Internet das coisas industrial | Materiais industriais | Manutenção e reparo de equipamentos | Programação industrial |
home  MfgRobots >> Manufaturação industrial >  >> Industrial programming >> python

Matriz Python:Exemplos de matrizes de transposição, multiplicação, NumPy

O que é Matriz Python?


Uma matriz Python é uma matriz retangular bidimensional especializada de dados armazenados em linhas e colunas. Os dados em uma matriz podem ser números, strings, expressões, símbolos, etc. A matriz é uma das estruturas de dados importantes que podem ser usadas em cálculos matemáticos e científicos.

Neste tutorial Python, você aprenderá:

Como funcionam as matrizes Python?


Os dados dentro da matriz bidimensional em formato de matriz são os seguintes:



Etapa 1)

Mostra uma matriz 2×2. Tem duas linhas e 2 colunas. Os dados dentro da matriz são números. A linha1 tem valores 2,3 e a linha2 tem valores 4,5. As colunas, ou seja, col1, têm valores 2,4, e col2 tem valores 3,5.

Etapa 2)

Mostra uma matriz 2×3. Tem duas linhas e três colunas. Os dados dentro da primeira linha, ou seja, linha1, possuem valores 2,3,4 e linha2 possui valores 5,6,7. As colunas col1 tem valores 2,5, col2 tem valores 3,6 e col3 tem valores 4,7.

Da mesma forma, você pode ter seus dados armazenados dentro da matriz nxn em Python. Muitas operações podem ser feitas em uma adição, subtração, multiplicação, etc.

O Python não tem uma maneira direta de implementar um tipo de dados de matriz.

A matriz python faz uso de arrays, e o mesmo pode ser implementado.

Criar Python Matrix usando um tipo de dados de lista aninhada


Em Python, os arrays são representados usando o tipo de dados list. Então agora vamos usar a lista para criar uma matriz python.

Vamos criar uma matriz 3×3, conforme mostrado abaixo:



A matriz dentro de uma lista com todas as linhas e colunas é mostrada abaixo:
List = [[Row1], 
           [Row2], 
           [Row3]
           ...
           [RowN]]

Então, de acordo com a matriz listada acima, o tipo de lista com dados da matriz é o seguinte:
M1 = [[8, 14, -6], [12,7,4], [-11,3,21]]

Para ler dados dentro do Python Matrix usando uma lista.


Faremos uso da matriz definida acima. O exemplo lerá os dados, imprimirá a matriz, exibirá o último elemento de cada linha.

Exemplo:para imprimir a matriz

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

#To print the matrix
print(M1)

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

Exemplo 2:para ler o último elemento de cada linha.

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

Resultado:
-6
4
21

Exemplo 3:Para imprimir as linhas na Matriz

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

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

Adicionando matrizes usando lista aninhada


Podemos facilmente adicionar duas matrizes dadas. As matrizes aqui estarão no formato de lista. Vamos trabalhar em um exemplo que terá o cuidado de somar as matrizes dadas.

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

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

Last inicializará uma matriz que armazenará o resultado de M1 + M2.

Matriz 3:
M3  = [[0,0,0],
            [0,0,0],
            [0,0,0]]

Exemplo:adição de matrizes


Para adicionar, as matrizes usarão um loop for que percorrerá ambas as matrizes dadas.
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)

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

Multiplicação de matrizes usando lista aninhada


Para multiplicar as matrizes, podemos usar o loop for em ambas as matrizes, conforme mostrado no código abaixo:
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)

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

Criar matriz Python usando matrizes do pacote Python Numpy


A biblioteca python Numpy ajuda a lidar com arrays. O Numpy processa um array um pouco mais rápido em comparação com a lista.

Para trabalhar com o Numpy, você precisa instalá-lo primeiro. Siga as etapas abaixo para instalar o Numpy.

Etapa 1)

O comando para instalar o Numpy é:
pip install NumPy

Etapa 2)

Para fazer uso do Numpy em seu código, você precisa importá-lo.
import NumPy

Etapa 3)

Você também pode importar o Numpy usando um alias, conforme mostrado abaixo:
import NumPy as np

Vamos usar o método array() do Numpy para criar uma matriz python.

Exemplo:Array em Numpy para criar Python Matrix

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

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

Operação de matriz usando Numpy.Array()


A operação matricial que pode ser feita é adição, subtração, multiplicação, transposição, leitura das linhas, colunas de uma matriz, fatiamento da matriz, etc. Em todos os exemplos, usaremos um método array().

Adição de matriz


Para realizar a adição na matriz, vamos criar duas matrizes usando numpy.array() e adicioná-las usando o operador (+).

Exemplo:
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)

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

Subtração de matriz


Para realizar a subtração na matriz, vamos criar duas matrizes usando numpy.array() e subtraí-las usando o operador (-).

Exemplo:
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)

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

Multiplicação de matrizes


Primeiro irá criar duas matrizes usando numpy.arary(). Para multiplicá-los, você pode usar o método numpy dot(). Numpy.dot() é o produto escalar da matriz M1 e M2. Numpy.dot() manipula as matrizes 2D e realiza multiplicações de matrizes.

Exemplo:
import numpy as np

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

Resultado:
[[  93   78]
 [ -65 -310]]

Transposição de matriz


A transposição de uma matriz é calculada, alterando as linhas como colunas e as colunas como linhas. A função transpose() do Numpy pode ser usada para calcular a transposição de uma matriz.

Exemplo:
import numpy as np

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

print(M2)

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

Corte de uma matriz


O fatiamento retornará os elementos da matriz com base no índice inicial/final fornecido.

Antes de trabalharmos no fatiamento de uma matriz, vamos primeiro entender como aplicar fatia em uma matriz simples.
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

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

Agora vamos implementar o fatiamento na matriz. Para executar o fatiamento em uma matriz

a sintaxe será M1[row_start:row_end, col_start:col_end]

A matriz M1 tque vamos usar é a seguinte:
M1 = np.array([[2, 4, 6, 8, 10], 
    [3, 6, 9, -12, -15],
    [4, 8, 12, 16, -20],
    [5, -10, 15, -20, 25]])

Há um total de 4 linhas. O índice começa de 0 a 3. O 0 th linha é a [2,4,6,8,10], 1 st a linha é [3,6,9,-12,-15] seguida por 2 nd e 3 rd .

A matriz M1 tem 5 colunas. O índice começa de 0 a 4. O 0 th coluna tem valores [2,3,4,5], 1 st as colunas têm valores [4,6,8,-10] seguidos por 2 nd , 3 rd , 4 º , e 5 º .

Aqui está um exemplo mostrando como obter os dados de linhas e colunas da matriz usando o fatiamento. No exemplo, estamos imprimindo o 1 st e 2 e linha e, para colunas, queremos a primeira, a segunda e a terceira coluna. Para obter essa saída, usamos:M1[1:3, 1:4]

Exemplo:
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.

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

Exemplo:Para imprimir todas as linhas e terceiras colunas

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.

Resultado:
[  8 -12  16 -20]

Exemplo:Para imprimir a primeira linha e todas as colunas

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

Resultado:
[[ 2  4  6  8 10]]

Exemplo:para imprimir as três primeiras linhas e as primeiras 2 colunas

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

Resultado:
[[2 4]
 [3 6]
 [4 8]]

Acessando a Matriz NumPy


Vimos como o fatiamento funciona. Levando isso em consideração, veremos como obter as linhas e colunas da matriz.

Para imprimir as linhas da matriz


No exemplo irá imprimir as linhas da matriz.

Exemplo:
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

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

Para obter a última linha, você pode usar o índice ou -1. Por exemplo, a matriz tem 3 linhas,

então M1[0] lhe dará a primeira linha,

M1[1] lhe dará a segunda linha

M1[2] ou M1[-1] fornecerá a terceira ou última linha.

Para imprimir as colunas da matriz

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

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

Resumo:


python

  1. Dicionário Python
  2. Matrizes em C++ | Declare | Inicializar | Ponteiro para exemplos de matriz
  3. Instrução Python Print():Como imprimir com exemplos
  4. Python String count() com EXEMPLOS
  5. Python String format() Explique com EXEMPLOS
  6. Método Python String find() com exemplos
  7. Funções do Python Lambda com EXEMPLOS
  8. Função Python abs():exemplos de valor absoluto
  9. Função Python round() com EXEMPLOS
  10. Função range() do Python:Float, List, For loop Exemplos