Рубрики
Без рубрики

Сложение матриц в Python | Сложение двух матриц

Сложение матриц в python означает сложение элементов одной матрицы с другой. Затем суммированные элементы сохраняются в третьей матрице.

Автор оригинала: Team Python Pool.

Сложение матриц в Python | Сложение двух матриц

Здравствуйте программисты, сегодняшняя статья посвящена matrix addition в python. Мы обсудим различные способы добавления двух матриц в python. Сложение матриц в python означает сложение элементов одной матрицы с другой. Затем суммированные элементы сохраняются в третьей матрице.

Matrix addition в Python-это метод, с помощью которого вы можете добавить две матрицы одинаковой формы. Если матрицы не имеют одинаковой формы, сложение будет невозможно. Более того, сложение в матрицах работает одним способом, а это означает, что элемент (1,1) будет добавляться только к элементу (1, 1) другой матрицы.

Прежде чем мы начнем с различных способов сложения матриц, позвольте мне просто привести пример сложения матриц для вас.

Пусть A и B-две матрицы, которые добавляются, и результат сохраняется в новой матрице C.

A = [ [1, 2, 3],           
          [4, 5, 6] ] 
B = [ [6, 5, 4],           
          [3, 2, 1] ] 
C = [ [7, 7, 7],           
          [7, 7, 7] ]

Элементы матрицы C являются суммой элементов матриц A и B, т. е.,

[ [1+6, 2+5, 3+4],     
  [4+3, 5+2, 6+1] ]

Различные способы сложения матриц в python:

  • Использование вложенного цикла for
  • Использование понимания вложенных списков
  • С помощью функции sum и zip()
  • Использование NumPy

Добавление матрицы с использованием вложенного цикла for

ПРИМЕР:

A = [[1,2,3], 
     [4,5,6], 
     [7 ,8,9]] 
  
B = [[9,8,7], 
     [6,5,4], 
     [3,2,1]] 
  
  
result = [[0,0,0], 
          [0,0,0], 
          [0,0,0]] 
  
# iterate through rows 
for i in range(len(A)):    
# iterate through columns 
    for j in range(len(A[0])): 
       [i][j] + B[i][j] 
  
for x in result: 
    print(x)

ВЫХОД:

[10,10,10]
[10,10,10]
[10,10,10]

ОБЪЯСНЕНИЕ:

В этом примере вложенные циклы for используются для итерации по каждой строке и столбцам заданных матриц. После каждой итерации мы добавляем соответствующие элементы матрицы A и B . И сохраните сумму в третьей матрице, называемой result.

Использование метода понимания вложенного списка

ПРИМЕР:

A = [[1,2,3], 
    [4 ,5,6], 
    [7 ,8,9]] 
   
B = [[9,8,7], 
    [6,5,4], 
    [3,2,1]] 
  
result = [[A[i][j] + B[i][j]  for j in range
(len(A[0]))] for i in range(len(A))] 
   
for r in result: 
    print(r)

ВЫХОД:

[10,10,10]
[10,10,10]
[10,10,10]

ОБЪЯСНЕНИЕ:

Понимание списка означает вложенный список, то есть список внутри списка. Этот метод используется для реализации матрицы в виде вложенного списка. В этом примере понимание списка используется для href=”https://www.w3schools.com/python/python_iterators.asp”>итерация через каждый элемент заданных матриц. Метод понимания списка сложения матриц в python помогает писать краткие и точечные коды. Таким образом, это делает коды сложения матриц более простыми и полезными. href=”https://www.w3schools.com/python/python_iterators.asp”>итерация через каждый элемент заданных матриц. Метод понимания списка сложения матриц в python помогает писать краткие и точечные коды. Таким образом, это делает коды сложения матриц более простыми и полезными.

Сложение матриц с помощью функции Sum и zip()

ПРИМЕР:

A = [[1,2,3], 
    [4 ,5,6], 
    [7 ,8,9]] 
   
B = [[9,8,7], 
    [6,5,4], 
    [3,2,1]] 
  
result = [map(sum, zip(*i)) for i in zip(X, Y)] 
   
print(result)

ВЫХОД:

[[10, 10, 10], [10, 10, 10], [10, 10, 10]]

ОБЪЯСНЕНИЕ:

Функция zip() состоит в том, чтобы принять итератор каждого элемента матрицы, сопоставить их и добавить с помощью функции sum (). Он возвращает и сохраняет результат в форме отображения.

Сложение матриц с помощью NumPy

ПРИМЕР:

import numpy as np
import random

# Routine for printing a 2x2 matrix

def PrintMatrix(matrix_in):

for x in range(0, matrix_in.shape[0]):
for y in range(0, matrix_in.shape[1]):
print("%d \t"%(matrix_in[x][y]),
if(y%3>1):
print("\n")   

 

# Function to populate a 2x2 matrix with random data

def FillMatrix(matrix_in):

for x in range(0, matrix_in.shape[0]):
for y in range(0, matrix_in.shape[1]):.randrange(2, 10) + 2

 

# Create matrices using ndarray
.ndarray((3,3)).ndarray((3,3))

 

# Fill the matrices i.e., the two dimensional arrays created using ndarray objects

FillMatrix(matrix1)

FillMatrix(matrix2)

 
# Add two matrices - two nd arrays
.__add__(matrix2)


# Print Matrix1

print("Matrix1:")

PrintMatrix(matrix1)

 
# Print Matrix2

print("Matrix2:")

PrintMatrix(matrix2)

 
# Print the results of adding two matrices

print("Result of adding Matrix1 and Matrix2:")

PrintMatrix(add_results)

ВЫХОД:

Matrix1:

[1   2   3 

4   5   6  

7   8   9]


Matrix2:

[9   8   7  

6   5   4

3   2   1]


Result of adding Matrix1 and Matrix2:

[10 10 10

10 10 10

10 10 10]

ОБЪЯСНЕНИЕ:

Первое условие для добавления двух матриц состоит в том, что обе матрицы должны иметь одинаковое количество строк и столбцов. Полученный таким образом результат также имеет такое же количество строк и столбцов. ndarray модуля NumPy помогает создать матрицу. Метод __add__ (), предоставляемый ndarray модуля NumPy, выполняет сложение матрицы . Функция __add__ () добавляет два объекта ndarray одинаковой формы и возвращает сумму в виде другого объекта ndarrayobject.

Должен Читать

  • Введение в Python Super С примерами
  • Функция Справки Python
  • Почему Python sys.exit лучше других функций выхода?
  • Python Bitstring: Классы и другие примеры | Модуль

Вывод:

Эта статья дает представление о различных способах сложения матриц в python. Вы можете использовать любой из вышеперечисленных способов в соответствии с вашими потребностями и удобством. Использование понимания списка-один из самых простых и лаконичных методов сложения матриц. Этот метод полезен и должен довольно часто включаться в программы python.

Если у вас все еще есть какие-либо сомнения или вопросы, дайте мне знать в разделе комментариев ниже. Я постараюсь помочь вам как можно скорее.

Счастливого Пифонирования!