Путаница в Python - PullRequest
       39

Путаница в Python

0 голосов
/ 20 октября 2019

Идея здесь состоит в том, чтобы возвести в квадрат матрицу n раз и после каждого цикла возведения в квадрат нормализовать ее. Я предполагаю, что ошибка в final_matrix -функции и связана с областью видимости. Я знаю, что это ужасный код, но я новичок. Так что критика более чем приветствуется :) Заранее спасибо! !!

def normalize(F):
    row_sums = F.sum(axis = 1)
    new_matrix = F / row_sums[:, np.newaxis]
    return new_matrix

#square matrix
def square(F):
    F = F.dot(F)
    return F

#calculate final matrix
def final_matrix(M, n):
    for _ in range(n):
        F = square(F) 
        N = normalize(F)
    print(N)

x = final_matrix(M,n)
print(x)

1 Ответ

0 голосов
/ 20 октября 2019

Я думаю, что вы написали 'F' вместо 'M'. Попробуйте это и посмотрите, работает ли это

def normalize(F):
    row_sums = F.sum(axis = 1)
    new_matrix = F / row_sums[:, np.newaxis]
    return new_matrix

#square matrix
def square(F):
    F = F.dot(F)
    return F

#calculate final matrix
def final_matrix(M, n):
    for _ in range(n):
        # Your error was here. You had written 'F' instead of 'M' in the line below
        F = square(M) 
        N = normalize(F)
    print(N)

x = final_matrix(M,n)
print(x)
...