Python矩阵重叠

时间:2017-04-21 13:26:51

标签: python arrays matrix

我有重叠矩阵的问题

import numpy as np
import pprint

A = np.array([[1,0],[0,1]])
B = np.array([[0,0,0],[0,0,0],[0,0,0]])

for i in range(0,2):
    for j in range(0,2):
        if i==0:
            if j<2:
                B[i,j]=A[i,j]
        elif i==2:
            if j==2:
                B[i,j]=A[i,j]
        else:
            B[i,j] = A[i,j] + A[i-1,j-1]

pprint.pprint(B)

并返回如此([[1,0,0],[0,2,0],[0,0,0]])的数组,但我想要([[1,0,0],[0,2,0],[0,0,1]])

我的代码出了什么问题?

请帮忙。

1 个答案:

答案 0 :(得分:0)

你可以在没有任何循环的情况下完成:

B[:2, :2] += A
B[1:3, 1:3] += A
print(B)
# array([[1, 0, 0],
#        [0, 2, 0],
#        [0, 0, 1]])