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

Матрица Python

Matrix Python, Matrix Python Matrix Matrix, Python Numpy Matrix, Matrix Python обратная, создание матрицы Python, редкая матрица, Python Matrix пример учебника

Автор оригинала: Pankaj Kumar.

В этом руководстве мы узнаем о Python Matrix. В нашем предыдущем уроке мы узнали о операциях Python Json.

Матрица Python

Для работы с Matrix Python нам нужно импортировать Python numpy модуль. Если у вас нет представления о Numpy Module, вы можете прочитать Python Numpy Учебник Отказ Матрица Python используется для выполнения операций относительно матрицы, которая может использоваться для научных целей, обработки изображений и т. Д.

Создать матрицу Python

В этом разделе мы узнаем, как создать матрицу в Python.

Согласно Википедии, матрица является прямоугольным массивом чисел, символов или выражений, расположенных в рядах и столбцах. Таким образом, в следующем коде мы будем инициализации различных типов матриц.

Как правило, матрица создается с использованием numpy.matix () функция. Мы можем использовать numpy.shape знать размерность матрицы. См. Следующий пример примера Python Matrix.

import numpy as np

# create 2x2 matrix
a = np.matrix([[1, 2], [3, 4]])  # using array of array
print('2x2 matrix is:\n', a)
# using shape attribute to get the tuple describing matrix shape
print('The dimension of the matrix is :', a.shape)

# using MatLab syntax in string
b = np.matrix('[1,2;3,4;5,6]', dtype=np.int32)  # limiting the data-type to int
print('\n3x2 matrix is:\n', b)
# using shape attribute to get the tuple describing matrix shape
print('The dimension of the matrix is :', b.shape)

# using numpy.random.rand(row, column) to generate array of random element
c = np.matrix(np.random.rand(3, 3), dtype=np.float32)  # considering the data-type as float
print('\n3x3 random element matrix is:\n', c)
# using shape attribute to get the tuple describing matrix shape
print('The dimension of the matrix is :', c.shape)

Вы получите вывод, например, следующее изображение.

Добавление матрицы Python

Ручной код для добавления Matrix достаточно сложен, чтобы написать! Благодаря модулю Numpy мы можем просто использовать + Оператор для добавления матрицы. Таким образом, в следующем примере кода мы увидим оба для записи кода дополнения вручную, а также с помощью оператора PLUS.

import numpy as np

# create two 2x2 matrix
a = np.matrix([[1, 2], [3, 4]])  # using array of array
b = np.matrix([[5, 6], [7, 8]])  # using array of array
result = np.matrix(np.zeros((2,2)))  # result matrix
print('A matrix :\n', a)
print('\nB matrix :\n', b)

# traditional code
for i in range(a.shape[1]):
    for j in range(a.shape[0]):
        result[i, j] = a[i, j] + b[i, j]

print('\nManually calculated result :\n', result)

# get the result by simply using + operator

resultB = a + b
print('\nCalculated using matrix + operator :\n', resultB)

Выходной вывод кода добавления Matrix Python следуют.

A matrix :
 [[1 2]
 [3 4]]

B matrix :
 [[5 6]
 [7 8]]

Manually calculated result :
 [[  6.   8.]
 [ 10.  12.]]

Calculated using matrix + operator :
 [[ 6  8]
 [10 12]]

Умножение Matrix Python, обратная матрица, матрица транспонирование

В предыдущем разделе мы обсудили о преимуществах Matrix Python, что она просто делает задачу проще для нас. Таким образом, мы можем просто умножить две матрицы, получить обратное и транспозицию матрицы.

Как мы видели до этого + Оператор добавляет две матрицы, здесь мы можем просто использовать * Оператор для умножения матриц.

Для Matrix умножения, количество столбцов в первой матрице должно быть равно количеству строк во второй матрице.

Мы можем получить обратную матрицу, используя Geti () функция. Мы можем использовать GetT () чтобы получить транспонировать матрицу. Давайте посмотрим на пример умножения матрицы.

import numpy as np

# initialize a 3x2 matrix of random values
matA = np.matrix(np.random.rand(3, 2))
# print the first matrix
print('The first matrix is :\n', matA)

# initialize a 2x3 matrix of random values
matB = np.matrix(np.random.rand(2, 3))
# print the second matrix
print('\nThe second matrix is :\n', matB)

# multiply two matrix using * operator
result = matA * matB
# print the resultant matrix
print('\nMatrix multiplication result :\n', result)

# get the inverse of the first matrix
inverseMatA = matA.getI()
print('\nThe inverse of the first matrix is :\n', inverseMatA)

# get the transpose matrix of the second matrix
transposeMatB = matB.getT()
print('\nThe transpose of the second matrix is :\n', transposeMatB)

Как мы использовали случайные значения. Таким образом, элементы матрицы будут варьироваться. Однако вывод вышеуказанного кода приведен ниже для прогона образца на моем компьютере.

The first matrix is :
 [[ 0.88847844  0.01832413]
 [ 0.08538396  0.20208474]
 [ 0.92615527  0.8963927 ]]

The second matrix is :
 [[ 0.03454971  0.89908281  0.08825769]
 [ 0.46224998  0.63173062  0.91734146]]

Matrix multiplication result :
 [[ 0.039167    0.81039161  0.09522454]
 [ 0.09636365  0.20443036  0.1929165 ]
 [ 0.44635589  1.398969    0.90403851]]

The inverse of the first matrix is :
 [[ 1.12771189 -0.15722127  0.01239153]
 [-1.13143853  0.40000541  1.04853336]]

The transpose of the second matrix is :
 [[ 0.03454971  0.46224998]
 [ 0.89908281  0.63173062]
 [ 0.08825769  0.91734146]]

Итак, это все для матричных операций Python. Чтобы узнать больше о Matrix Python, вы можете прочитать Официальная документация Отказ