首页 > 解决方案 > 如何构造一个简单的矩阵并根据方程(numpy)改变值?

问题描述

我的问题很简单。我必须制作一个 5*5 矩阵,每个 i,j 值应遵循 i+j 的公式

到目前为止我有这个:'''

w = np.zeros(shape=(5,5))
print(w)


for i in range(5):
    for j in range(5):
        w[i][j] == i**2+j
        
print(w)

但它现在只是返回一个 0 矩阵该怎么办?

标签: pythonpython-3.xnumpymatrixnumpy-ndarray

解决方案


只是改变

w[i][j] == i**2+j

to(如果你想保留公式)

w[i,j] = i**2+j

或使用您问题中的公式

w[i,j] = i+j

如果你想摆脱循环,你可以使用 numpy

w = np.arange(5)
w = np.add.outer(w ** 2, w)
print(w)

出去:

[[ 0  1  2  3  4]
 [ 1  2  3  4  5]
 [ 4  5  6  7  8]
 [ 9 10 11 12 13]
 [16 17 18 19 20]]

推荐阅读