BInary matrix multiplication
Afficher commentaires plus anciens
Hii,
I am trying to multiply two matrices defined as follows:
U = [1 1 1 1 0 0 0 0 0 1 1];
G = [0 1 0 1 1 0 0 0 0 0 0 0 0 0 0
0 0 1 1 0 1 0 0 0 0 0 0 0 0 0
0 1 1 0 0 0 1 0 0 0 0 0 0 0 0
0 1 1 1 0 0 0 1 0 0 0 0 0 0 0
1 0 0 1 0 0 0 0 1 0 0 0 0 0 0
1 0 1 0 0 0 0 0 0 1 0 0 0 0 0
1 0 1 1 0 0 0 0 0 0 1 0 0 0 0
1 1 0 0 0 0 0 0 0 0 0 1 0 0 0
1 1 0 1 0 0 0 0 0 0 0 0 1 0 0
1 1 1 0 0 0 0 0 0 0 0 0 0 1 0
1 1 1 1 0 0 0 0 0 0 0 0 0 0 1];
Here U is a matrix of size 1*11 whereas G is a matrix of size 11*15. I have no idea of how to do binary multiplication any suggestions in this regard??
Thanks for you help.
Réponses (1)
Walter Roberson
le 15 Avr 2012
0 votes
You can see binary matrix multiplication code at http://www.mathworks.com/matlabcentral/answers/16192-inversion-of-a-boolean-matrix
7 commentaires
Dyno
le 15 Avr 2012
Dyno
le 15 Avr 2012
Walter Roberson
le 15 Avr 2012
See Derek's MMBool routine in the above Question.
NGUYEN Duy Ngan
le 29 Avr 2014
Thank you very much Dyno.
Chris Volpe
le 23 Août 2016
The "mod 2" part is appropriate only if boolean addition is defined as an exclusive-or operation. In most contexts it should be ordinary "or". I would do this as:
V = logical(double(U)*double(G))
Onyekachi Ukeje-Eloagu
le 1 Oct 2016
I tried using the "mod 2" and "logical" with some problems I am working on. I am not sure what you are referring to when you talk about the boolean addition being defined as an exclusive-or, but the "mod 2" gives the correct answer and "logical" does not
Walter Roberson
le 1 Oct 2016
Onyekachi Ukeje-Eloagu: in your situation, should boolean 1+1 be equal to 1 ("or") or should it be equal to 0 ("exclusive or") ?
Catégories
En savoir plus sur Resizing and Reshaping Matrices dans Centre d'aide et File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!