2015-06-08 5 views
1

Я хотел бы изменить матрицу А до размера, который соответствует с размером матрицы B, так что в дальнейшем я могу выполнять функцию минус на A - B.Python: Изменение размера матрицы в зависимости от размера целевой матрицы

from numpy import matrix 
A = matrix([[7, 5]])    
B = matrix([[2, 0],[0, 0]]) 

Значение 7 используется для вычета [2,0], а значение 5 используется для вычета [0,0].

Как превратить матрицу А в:

A = matrix([[7,7],[5,5]]) 

Может кто-нибудь мне помочь?

+0

Будет матрице А всегда быть меньше или равно B, с точки зрения размера? –

+0

Да. Всегда меньше или равно. – Xiong89

ответ

1

В случае форма A является (a1,a2), форма B является (b1,b2), и форма A' быть (a1,b2) (как в вашем примере), Вы можете сделать это:

>>>from numpy import matrix,ones 
>>>A = matrix([[7, 5]]) 
>>>B = matrix([[2, 0],[0, 0]]) 
>>>C = ones(A.shape) 

>>>c_shape = (A.shape[0],B.shape[1]) 
>>>C = ones(c_shape) 
>>>A.T*C 
[[ 7. 7.] 
[ 5. 5.]] 
+0

@ Xiong89 всегда ли сохраняются условия, которые я написал? Иначе, можете ли вы дать полный пример того, что должно произойти, когда эти условия не выполняются? – omerbp

+0

Это решило отлично. Спасибо за ответ. – Xiong89

+0

@ Xiong89 отлично, счастлив, что это помогло – omerbp