创建由不同大小的矩阵组成的矩阵

时间:2016-07-12 11:28:08

标签: python numpy matrix

我想创建一个矩阵,其元素是矩阵(具有不同的大小),向量和数字。 例如,我有接下来的两个矩阵,一个向量和一个数字:

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的问题是输入元素的尺寸必须完全匹配 任何的想法?

感谢。

2 个答案:

答案 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]