我想创建一个矩阵,其元素是矩阵(具有不同的大小),向量和数字。 例如,我有接下来的两个矩阵,一个向量和一个数字:
A = [1 2 3
4 5 6
7 8 9]
B = [10 11
12 13]
C = [14
15
16]
D = 17
我想得到一个2x2,K矩阵元素:
k_11 = A, k_12 = B, k_21 = C, k_22 = D
。
这个想法是有可能选择大矩阵K的矩阵,向量或数字,就像它们将是简单的"矩阵的元素。即:
K[0,0] = A, K[0,1] = B
等等。
首先,我可以通过K.append(A)
...获取矩阵,向量和数字的列表,但后来我发现我无法将列表转换为矩阵。 />
其次,我尝试用numpy.bmat
创建一个块矩阵。 bmat
的问题是输入元素的尺寸必须完全匹配
任何的想法?
感谢。
答案 0 :(得分:2)
首先,将4个对象存储在2D列表中,然后将列表变为numpy.matrix
。
K = matrix([[A, B], [C, D])
答案 1 :(得分:0)
在阅读答案后,我创建了一个2D列表,但我没有使用numpy.matrix
,因为在列表中我可以选择我想要的“矩阵”元素。答案如下:
>>> K = [ ]
>>> K.append([ ])
>>> K.append([ ])
>>> K[0].append[A]
>>> K[0].append[C]
>>> K[1].append[B]
>>> K[1].append[D]
所以,如果我想选择元素A:
>>> K[0][0]
元素B:
>>> K[1][0]