допустим, у меня есть матрица размера n (нечетное число, отличное от 1), и я хочу вычислить расстояние от каждой записи до центра.Например, если n = 2, то матрица 5 на 5, и вы должны найти центр матрицы.
import numpy as np
import math
center = math.floor(5/2)
Matrix[math.floor(5/2)][math.floor(5/2)] = 0
Центр равен нулю, поскольку расстояние до него равно 0. myподход заключается в том, чтобы сделать центр, как начало координатной плоскости, и обработать каждый из 25 «квадратов» (матрица 5 на 5) как точку в центре каждого квадрата, а затем вычислить евклидово расстояние, на котором эта точка находится от центра.визуально:
пока моя идея ..
Matrix = [[0 for x in range(n)] for y in range(n)] #initialize the n by n matrix
for i in range(0, n):
for j in range(0, n):
Matrix[i][j] = ...
или есть лучший способ найти матрицу расстояний?
вывод должен быть симметричным и для матрицы = 5 это будет
Matrix
[[2.82843, 2.23607, 2, 2.23607, 2.82843],
[2.23607, 1.41421, 1, 1.41421, 2.23607],
[2, 1, 0, 1, 2],
[2.23607, 1.41421, 1, 1.41421, 2.23607],
[2.82843, 2.23607, 2, 2.23607, 2.82843]]
TIA