我正在尝试创建一个2d矩阵列表,如下图所示:
基本上,我想从一个带有全零的NxN矩阵开始,然后依次将0替换为1(如图所示)。每次修改都会将0改为1,我想在该步骤输出矩阵并将其保存在列表或数组中。
对于插图中的第一行矩阵,我有:
dim = 4
x=[]
for i in range(0,dim):
matrix = np.zeros((dim,dim))
matrix[0,i] = 1
x.append(matrix)
m0 = x[0]
m1 = x[0]+x[1]
m2 = x[0]+x[1]+x[2]
m3 = x[0]+x[1]+x[2]+x[3]
我想概括一下,所以我不仅获得了第一行,而且显示了图像中显示的其余行,并通过'dim'更改了矩阵大小。我似乎无法弄清楚这一点。我对此表示感谢。
答案 0 :(得分:0)
这将完成这项工作:
import numpy as np
dim = 4
x=[]
for i in range(dim):
lst=[]
matrix=np.zeros((dim,dim))
vec=np.ones(i+1)
for j in range(dim):
matrix[0:i+1,j]=vec
lst.append(np.copy(matrix))
x.append(lst)
print(x)