Python Numpy матричное умножение с векторной петлей сходимости - PullRequest
0 голосов
/ 07 апреля 2020

Мне нужно написать код в python, используя numpy для итерации и l oop, чтобы умножить матрицу на новый вектор 72 раза. Мы будем благодарны за любую помощь.

Матрица отображается как P, а вектор - pop. Как видите, я умножил матрицу на вектор, используя B = P.dot (pop), а затем напечатал B ниже, и мы получили B = [135,165]. Поэтому я хочу настроить al oop так, чтобы матрица P умножалась на B, давая вектор C. Затем матрица P умножается на новый вектор C et c et c .... и продолжает работать 72 раза. Я знаю, что он сойдется с [100,200] и останется там, но как мне написать для этого код al oop.

Итак, вот что у меня есть:

import numpy as np
P=np.array([[0.8,0.1],[0.2,0.9]])
pop=([150,150])

B=P.dot(pop)

C=P.dot(B)

print B
print C

Кроме того, как я могу показать, что после каждой итерации сумма всегда равна 300 из 2 компонентов в векторе?

Спасибо

1 Ответ

0 голосов
/ 07 апреля 2020

Используйте это:

import numpy as np

P = np.array([[0.8, 0.1], [0.2, 0.9]])
pop = ([150, 150])

B = pop[:]
for _ in range(72):
    B = P.dot(B)

Результат:

>>> print(B)
[100. 200.]
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...