issue in matrix multiplication

조회 수: 4 (최근 30일)
mary
mary 2013년 12월 4일
답변: Walter Roberson 2013년 12월 5일
G=[1 1 1 1 1 0 0 0 1 0 0 0; 0 0 1 1 0 0 0 1 0 1 0 0; 1 1 1 0 1 0 0 1 0 0 1 0; 1 0 0 1 1 1 0 1 0 0 0 1];
m=[1 0 1 0]
how to multiply them??

채택된 답변

Youssef  Khmou
Youssef Khmou 2013년 12월 4일
편집: Youssef Khmou 2013년 12월 4일
G is 4x12 and m is 1x4, then two possibilities :
m*G
G'*m'
You do not get binary result because of the multiplication cij=sum a_ik b_kj there is an addition. you can get binary results if the matrices have the same dimensions and you use Hadamard product :
m=m'
M=zeros(4,12);
for n=1:12
M(:,n)=m;
end
M.*G

추가 답변 (4개)

Wayne King
Wayne King 2013년 12월 4일
편집: Wayne King 2013년 12월 4일
G=[1 1 1 1 1 0 0 0 1 0 0 0; 0 0 1 1 0 0 0 1 0 1 0 0; 1 1 1 0 1 0 0 1 0 0 1 0; 1 0 0 1 1 1 0 1 0 0 0 1];
m=[1 0 1 0];
out = m*G;
How else would you presume to multiply them?
  댓글 수: 1
mary
mary 2013년 12월 4일
when i multiplied them using this way the result will be [ 2 2 3 2 2 0 0 2 1 1 1 0]

댓글을 달려면 로그인하십시오.


Walter Roberson
Walter Roberson 2013년 12월 4일
G is 12 x 4, and m is 1 x 4, so there is no direct way to multiply them. You can, however, use
G * m.'
to get 12 x 1, or you can use
m * G.'
to get 1 x 12
Possibly what you want is
G .* repmat(m.', 1, size(G,2))
  댓글 수: 1
mary
mary 2013년 12월 4일
G is 4 by 12 if i multiply them directly the result is not binary ?? how come??

댓글을 달려면 로그인하십시오.


sixwwwwww
sixwwwwww 2013년 12월 4일
mary you can get desired output as follows:
G = [1 1 1 1 1 0 0 0 1 0 0 0; 0 0 1 1 0 0 0 1 0 1 0 0; 1 1 1 0 1 0 0 1 0 0 1 0; 1 0 0 1 1 1 0 1 0 0 0 1]';
m = [1 0 1 0];
idx = find(m);
result = zeros(1, size(G, 1));
for i = 1:size(G, 1)
result(i) = sum(G(i, min(idx):max(idx)));
end
disp(result)
Do you need this?
  댓글 수: 1
mary
mary 2013년 12월 4일
not this i need the result in binary .. just multiplying two matrices and the result would be binary

댓글을 달려면 로그인하십시오.


Walter Roberson
Walter Roberson 2013년 12월 5일

카테고리

Help CenterFile Exchange에서 Sources에 대해 자세히 알아보기

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by