Предпочтительный способ создания массивов:
In [146]: A = np.array([[1, 9, 2, 3],[7, 2, 1, 4],[4, 2, 5, 2]])
In [147]: A
Out[147]:
array([[1, 9, 2, 3],
[7, 2, 1, 4],
[4, 2, 5, 2]])
Для небольших массивов np.matrix
с его имитацией Конструктор MATLAB удобен, но обычно не рекомендуется.
In [148]: x=3
In [149]: B = np.array([[2],[x],[3],[x]])
In [150]: B
Out[150]:
array([[2],
[3],
[3],
[3]])
# B = np.array([[2,x,3,x]]).T
In [151]: A@B
Out[151]:
array([[44],
[35],
[35]])
Для нескольких значенийиз x
:
In [152]: x = np.arange(10)
In [153]: B = np.empty((4,x.shape[0]), int)
In [154]: B[[1,3]] = x
In [155]: B[0] = 2
In [156]: B[2] = 3
In [157]: B
Out[157]:
array([[2, 2, 2, 2, 2, 2, 2, 2, 2, 2],
[0, 1, 2, 3, 4, 5, 6, 7, 8, 9],
[3, 3, 3, 3, 3, 3, 3, 3, 3, 3],
[0, 1, 2, 3, 4, 5, 6, 7, 8, 9]])
In [158]: A@B
Out[158]:
array([[ 8, 20, 32, 44, 56, 68, 80, 92, 104, 116],
[ 17, 23, 29, 35, 41, 47, 53, 59, 65, 71],
[ 23, 27, 31, 35, 39, 43, 47, 51, 55, 59]])