issue in matrix multiplication

2 views (last 30 days)
mary
mary on 4 Dec 2013
Answered: Walter Roberson on 5 Dec 2013
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??

Accepted Answer

Youssef  Khmou
Youssef Khmou on 4 Dec 2013
Edited: Youssef Khmou on 4 Dec 2013
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

More Answers (4)

Wayne King
Wayne King on 4 Dec 2013
Edited: Wayne King on 4 Dec 2013
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 Comment
mary
mary on 4 Dec 2013
when i multiplied them using this way the result will be [ 2 2 3 2 2 0 0 2 1 1 1 0]

Sign in to comment.


Walter Roberson
Walter Roberson on 4 Dec 2013
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 Comment
mary
mary on 4 Dec 2013
G is 4 by 12 if i multiply them directly the result is not binary ?? how come??

Sign in to comment.


sixwwwwww
sixwwwwww on 4 Dec 2013
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 Comment
mary
mary on 4 Dec 2013
not this i need the result in binary .. just multiplying two matrices and the result would be binary

Sign in to comment.


Walter Roberson
Walter Roberson on 5 Dec 2013

Categories

Find more on Loops and Conditional Statements in Help Center and File Exchange

Community Treasure Hunt

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

Start Hunting!