4
import numpy as np

M = np.matrix([
        [-1,-2,-3],
        [-4,-5,-6]
    ])

print(M)
  1. i特定の行または列jにスカラーを掛ける方法は?
  2. 特定の列または行にリストとしてアクセスする方法は?
  3. (適切な長さの)リストを指定して、特定の列または行を設定する方法は?
4

3 に答える 3

7

特定の列を乗算するには:

M[:,colnumber] *= scalar

または行:

M[rownumber,:] *= scalar

そしてもちろん、イテラブルとしてそれらにアクセスすることは同じことです:

col_1 = M[:,1]

ただし、これにより、 ではなく、新しい行列が得られますlist。正直なところ、オブジェクトを使ったこれらの操作のすべてを完全に理解することはできないようですが、これらは実際には型操作matrixのようには見えません。オブジェクトの代わりにmatrix使用している理由はありますか? 行列の乗算が必要な場合は、いつでも使用できますmatrixarraynp.dot(array_mat1, array_mat2)

于 2012-12-20T19:08:11.017 に答える
6

これを実現するためにスライスを使用できます。

>>> M = np.matrix([
...         [-1,-2,-3],
...         [-4,-5,-6]
...     ])
>>> M[1,:] *= 2          # multiply all elements in second row by 2
>>> M
matrix([[ -1,  -2,  -3],
        [ -8, -10, -12]])
>>> M[:,1] *= 2          # multiply all elements in second column by 2
>>> M
matrix([[ -1,  -4,  -3],
        [ -8, -20, -12]])

特定の列または行をリストに割り当てるには:

>>> M[:,1] = [[0], [0]]        # note the nested lists to reassign column
>>> M
matrix([[ -1,   0,  -3],
        [ -8,   0, -12]])
>>> M[1,:] = [2, 2, 2]         # flat list to reassign row
>>> M
matrix([[-1,  0, -3],
        [ 2,  2,  2]])
于 2012-12-20T19:08:24.043 に答える
0

Python2.7の使用

s1)次のように、行または列にスカラーを掛けることができます。

M[i, :] *= s
M[:, j] *= s

2)次のように行または列にアクセスできます。

M[i, :]
M[:, j]

l3)次のように行または列をリストに設定できます。

M[i, :] = l
M[:, j] = l

最後のリストでは、リスト(列を設定している場合)はリスト内のリストである必要があることに注意してください(つまり、外側のリストは行として機能し、内側のリストは列として機能します)。

于 2012-12-20T19:11:29.817 に答える