Автор оригинала: 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.
Если у вас все еще есть какие-либо сомнения или вопросы, дайте мне знать в разделе комментариев ниже. Я постараюсь помочь вам как можно скорее.
Счастливого Пифонирования!