2013-08-15 4 views
1

두 행렬이 있습니다. 하나는 1x153 double이고 다른 하나는 153x512 double이며, 가능하지 않을 때 빼기를 요구하고, 같은 차원이 아니라는 오류를줍니다.다른 치수로 두 행렬을 뺍니다.

어떤 아이디어로 해결할 수 있습니까?

+0

[가능한 행렬로 각 행을 고정 행으로 나눌 수 있습니까?] (http://stackoverflow.com/questions/4723824/how-can-i-divide-each-row-of-a) -matrix-by-a-fixed-row) –

답변

3

사용 bsxfun : 하나 개의 차원은 적어도 일치해야합니다으로 처음 A를 전치

A = rand(1,153); 
B = rand(153,152); 

bsxfun(@minus,A.', B); 

알 수 있습니다.

+2

'A'는 복잡 할 수도 있습니다. '''대신''. ''을 사용하는 것이 더 좋습니다. –

+0

@LuisMendo OP는'double'을 지정했지만,'.'을 추가했습니다. – Dan

+2

복소수 값은 이중 또는 단 정밀도 일 수 있습니다 (기호 값도 복소수 일 수 있음). 복잡성은 클래스와 다른 속성입니다 ('class (1i)'는''double ''을 반환합니다). 그렇기 때문에 '이 플립 (isfloat)'과 'isreal (isreal)'이 존재합니다. – horchler