Function 乘以矩阵元素创建函数并使用重复结构

Function 乘以矩阵元素创建函数并使用重复结构,function,numpy,matrix,structure,repeat,Function,Numpy,Matrix,Structure,Repeat,我有以下练习: 生成一个函数,该函数接受两个参数,一个NumPy矩阵和一个常量,并使用重复结构将矩阵的每个元素相乘,然后返回相乘后的矩阵 我只是使用重复结构: np.random.seed(0) matriz = np.random.randint (1,30, (3,4)) constante = 4 for i in matrix: print (i * constante) 有人能帮我解决这个问题吗? 谢谢这个问题(这是一个很糟糕的练习,你马上就会明白为什么)试图帮助你习惯fo

我有以下练习:

生成一个函数,该函数接受两个参数,一个NumPy矩阵和一个常量,并使用重复结构将矩阵的每个元素相乘,然后返回相乘后的矩阵

我只是使用重复结构:

np.random.seed(0)
matriz = np.random.randint (1,30, (3,4))
constante = 4

for i in matrix:
    print (i * constante)
有人能帮我解决这个问题吗? 谢谢

这个问题(这是一个很糟糕的练习,你马上就会明白为什么)试图帮助你习惯
for
循环。您使用的数组有两个维度,因此需要循环行索引
i
和列索引
j
,以访问矩阵中的每个条目。您可以使用
.shape
属性获取数组的行数和列数,因此您不必事先知道数组的形状

这里有一个解决方案可以修改矩阵,这意味着原始矩阵会被覆盖

def比例矩阵(A、c): ... 对于范围内的i(A.shape[0]):#循环行索引。 ... 对于范围内的j(A.shape[1]):#在列索引上循环。 ... A[i,j]=c*A[i,j]#乘以条目并将结果存储在同一位置。 ... 归还 但是

这是一个徒劳的练习,因为当您将NumPy数组乘以常数时,它会将数组的每个条目相乘。不需要循环。这种方法速度更快,可读性更强

>>将numpy作为np导入
>>>A=np.array([[1,2],
...               [3, 4]])
>>>A*2
数组([[2,4],
[6, 8]])