У меня есть тестовая матрица (z) формы 40x40, заполненная нулями.Добавить подматрицы в определенных местах
Мне нужно добавить в тестовую матрицу 4 подматрицы форм, называемых c1, c2 (5x5), c3 (7x7) и c4 (9x9).
Я хочу разместить центры подматриц в соответствующих местах, а затем просто выполнить добавление элементов. Месторасположения в тестовой матрице: z (9,9), z (9,29), z (29,9), z (29,29).
Я пробовал смотреть на эти темы, но я не могу получить четкий ответ о том, как решить мою проблему. How to add different arrays from the center point of an array in Python/NumPy Adding different sized/shaped displaced NumPy matrices
примеры кода я попытался:
def zero_matrix(d):
matrix = np.zeros((d,d), dtype=np.float)
return matrix
z = zero_matrix(40)
c1 = np.genfromtxt('xxxxxx', dtype=None, delimiter = '\t')
c2 = np.genfromtxt('xxxxxx', dtype=None, delimiter = '\t')
c3 = np.genfromtxt('xxxxxx', dtype=None, delimiter = '\t')
c4 = np.genfromtxt('xxxxxx', dtype=None, delimiter = '\t')
def adding(z):
for i in range(z.shape[0]):
for j in range(z.shape[1]):
if i == 9 and j==9:
c1mid = c1.shape[0]//2
z[i,j] = c1[c1mid,c1mid]
print z
return z
Но это только добавляет центры, а не весь подматрицы.
Он должен выглядеть следующим образом:
Он работал. Большое спасибо! :) – Litwos