Xor(A, B), does A, B have to be the same dimension?

3 vues (au cours des 30 derniers jours)
Feiyang Bai
Feiyang Bai le 12 Juin 2022
Commenté : Feiyang Bai le 13 Juin 2022
C = xor(A,B) performs a logical exclusive-OR of arrays A and B and returns an array containing elements set to either logical 1 (true) or logical 0 (false). So, A and B has to be the same dimension so it could compare, right? But in the example, A is a 1*2; while B is a 2*1 dimension matrix.
Can anyone help me explain it?
Thanks,
  2 commentaires
Stephen23
Stephen23 le 12 Juin 2022
Modifié(e) : Stephen23 le 12 Juin 2022
"So, A and B has to be the same dimension so it could compare, right?"
No.
"Can anyone help me explain it?"
The XOR documentation states that they have to be compatible sizes:
Feiyang Bai
Feiyang Bai le 13 Juin 2022
Hi,
Thanks for the explaning and extra resource. I appreciate it.
Feiyang

Connectez-vous pour commenter.

Réponse acceptée

DGM
DGM le 12 Juin 2022
Modifié(e) : DGM le 12 Juin 2022
The arguments don't necessarily need to have the same size/shape, but they need to have compatible size/shape. Like many things in modern versions, implicit array expansion applies here. I imagine the example in the docs is something like:
xor([0 1],[0;1]) % xor two vectors
ans = 2×2 logical array
0 1 1 0
which is equivalent to
xor([0 1; 0 1],[0 0; 1 1]) % the two vectors expanded to a common array size
ans = 2×2 logical array
0 1 1 0
Consider the similarity:
plus([1 2 3 4],[1;2]) % add two vectors
ans = 2×4
2 3 4 5 3 4 5 6
  1 commentaire
Feiyang Bai
Feiyang Bai le 13 Juin 2022
Hi,
Thanks for the answer. It helped a lot.
Appreciate.
Feiyang

Connectez-vous pour commenter.

Plus de réponses (0)

Catégories

En savoir plus sur Logical dans Help Center et File Exchange

Produits


Version

R2022a

Community Treasure Hunt

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

Start Hunting!

Translated by