0

我有什么方法可以直接创建矩阵而不必使用asmatrix?据我所见,Numpy 中的所有典型矩阵函数(onesrand等)都返回数组,而不是矩阵,这意味着(根据文档)asmatrix将复制数据。有没有办法避免这种情况?

4

1 回答 1

1

根据文档:

与矩阵不同,如果输入已经是矩阵或 ndarray,则 asmatrix 不会进行复制。相当于矩阵(数据,复制=假)。

因此,如果asmatrix不需要,则不复制数据:

>>> import numpy as np
>>> a = np.arange(9).reshape((3,3))
>>> b = np.asmatrix(a)
>>> b.base is a
True
>>> a[0] = 3
>>> b
matrix([[3, 3, 3],
        [3, 4, 5],
        [6, 7, 8]])
于 2013-02-16T00:18:01.543 回答