Stapeln von Matrizen
Verfasst: Freitag 15. März 2019, 15:24
Hey,
ich habe folgendes Problem:
gegeben ist eine N x N - Matrix A und eine 2 x 2 - Matrix B. Ich möchte eine 2N x 2N - Matrix C erstellen, die aus aneinandergereihten bzw. gestapelten Kopien von B besteht, jeweils skalar multipliziert mit dem entsprechenden Eintrag aus A. Für
N = 2,
A = [[1,2], [3,4]] und
B = [[0,1],[1,0]]
würde man folgende Matrix erhalten:
Das Ergebnis sollte als np.array ausgegeben werden.
Mir ist es bereits gelungen, eine 2 x 2N - Matrix zu erstellen, die aus aneinandergereihten Kopien von B besteht, jeweils skalar multipliziert mit den Einträgen der i - ten Zeile von A. Code:
Allerdings gelingt es mir nicht, jetzt über alle is zu iterieren und alle ais zu stapeln. Hat jemand eine Idee, wie man das machen könnte? Oder vielleicht einen besseren Ansatz?
Beste Grüße, BP.
ich habe folgendes Problem:
gegeben ist eine N x N - Matrix A und eine 2 x 2 - Matrix B. Ich möchte eine 2N x 2N - Matrix C erstellen, die aus aneinandergereihten bzw. gestapelten Kopien von B besteht, jeweils skalar multipliziert mit dem entsprechenden Eintrag aus A. Für
N = 2,
A = [[1,2], [3,4]] und
B = [[0,1],[1,0]]
würde man folgende Matrix erhalten:
Code: Alles auswählen
C =
[[0,1,0,2],
[1,0,2,0]
[0,3,0,4]
[3,0,4,0]] Mir ist es bereits gelungen, eine 2 x 2N - Matrix zu erstellen, die aus aneinandergereihten Kopien von B besteht, jeweils skalar multipliziert mit den Einträgen der i - ten Zeile von A. Code:
Code: Alles auswählen
import numpy as np
X = [0,1]
A = [[1,2],[3,4]]
B = np.array([[0,1],[1,0]])
ai = np.array([[ ], [ ]])
i = 0
for j in X:
ai = np.append(ai, B * A[i][j], axis = 1)
print(ai)
Beste Grüße, BP.