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

2 views (last 30 days)
Feiyang Bai on 12 Jun 2022
Commented: Feiyang Bai on 13 Jun 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 CommentsShowHide 1 older comment
Feiyang Bai on 13 Jun 2022
Hi,
Thanks for the explaning and extra resource. I appreciate it.
Feiyang

DGM on 12 Jun 2022
Edited: DGM on 12 Jun 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
Feiyang Bai on 13 Jun 2022
Hi,
Thanks for the answer. It helped a lot.
Appreciate.
Feiyang

R2022a

### Community Treasure Hunt

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

Start Hunting!