numpy.mat
numpy.mat(object, dtype=None)
Функция mat() интерпретирует входные данные как матрицу.
-
- object - подобный матрице объект
- Строка, список или кортеж, а так же любая функция или объект с методом, возвращаеющие список или кортеж, которые могут быть интерпретированы как матрица.
- dtype - тип данных NumPy (необязательный)
- Определяет тип данных выходной матрицы.
-
- matrix - массив NumPy
- Интерпретация входных данных как матрицы.
Смотрите так же:
bmat
Замечание
Входные данные могут быть интерпретированы, как матрицы, только если из них возможно построить одномерный или двумерный прямоугольный (квадратный) массив.
Просто отформатированные строки, например такие как '1 1; 2 2'
, '1, 1; 2, 2'
или '1,1;2,2'
тоже могут интерпретироваться как матрицы.
В отличие от функций matrix
и asmatrix
, функция mat
не делает копию данных если входные данные уже являются массивом NumPy или матрицей. Эквивалентна matrix(data, copy=False)
.
Примеры
>>> import numpy as np
>>>
>>> # Создание матриц из строк
...
>>> np.mat('1 1 1 1')
matrix([[1, 1, 1, 1]])
>>>
>>> np.mat('1, 1, 1, 1')
matrix([[1, 1, 1, 1]])
>>>
>>> np.mat('1, 1, 1, 1')
matrix([[1, 1, 1, 1]])
>>>
>>> np.mat('1, 1; 1, 1')
matrix([[1, 1],
[1, 1]])
>>>
>>>
>>> a = [1, 2, 3, 4, 5]
>>>
>>> b = np.mat(a)
>>> b
matrix([[1, 2, 3, 4, 5]])
>>>
>>>
>>> # Если входные данные не являются массивом или матрицей,
... # то входные данные копируются.
...
>>> a[0] = 111 # Изменение списка 'a' не отразится
>>> a
[111, 2, 3, 4, 5]
>>>
>>> b # не отразится на матрице 'b'.
matrix([[1, 2, 3, 4, 5]])
>>>
>>>
>>> # Если входные данные являются массивом или матрицей,
... # то входные данные не копируются.
...
>>> a = np.array([[1, 1], [2, 2]])
>>> a
array([[1, 1],
[2, 2]])
>>>
>>> b = np.mat(a)
>>> b
matrix([[1, 1],
[2, 2]])
>>>
>>> a[0] = 77 # Изменение массива 'a' не отразится
>>> a
array([[77, 77],
[ 2, 2]])
>>>
>>> b # отразится на матрице 'b'.
matrix([[77, 77],
[ 2, 2]])