добавление матрицы к определенной области другой большей матрицы - PullRequest
0 голосов
/ 11 марта 2019

Я пытаюсь создать простую программу структурного анализа 2D-кадров с использованием Python. Во время программирования необходимо добавить матрицу-член 6x6 в конкретные строки и столбцы системной матрицы с нулевым размером 12x12 в соответствии с номерами ее узлов, которые также представлены в системной матрице. Например:

system_matrix = [[0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0.]
                 [0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0.]
                 [0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0.]
                 [0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0.]
                 [0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0.]
                 [0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0.]
                 [0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0.]
                 [0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0.]
                 [0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0.]
                 [0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0.]
                 [0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0.]
                 [0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0.]]

member_matrix = [[0.43 0.72 0.47 0.96 0.23 0.42]
                 [0.51 0.55 0.94 0.11 0.37 0.83]
                 [0.39 0.92 0.92 0.21 0.31 0.46]
                 [0.83 1.12 0.67 0.69 0.56 0.84]
                 [0.21 0.53 0.44 0.83 0.58 0.46]
                 [0.64 0.66 0.19 0.21 0.16 0.43]]

Сначала я хочу добавить (или разместить) подматрицу матрицы элементов, которая содержит первые 3 строки и 3 столбца в определенной области системной матрицы. Есть ли способ в numpy поддерживать этот процесс, или я должен написать его самостоятельно?

Заранее спасибо.

1 Ответ

0 голосов
/ 11 марта 2019

вы можете использовать кусочки NumPy для достижения вашей цели

import numpy as np

ma = np.matrix(system_matrix, float)
mb = np.matrix(member_matrix)

#ma[0:3, 0:3] = mb[0:3, 0:3]
ma[0:3, 0:3] += mb[0:3, 0:3]
print(ma)
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...