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

2 次查看(过去 30 天)
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 个评论
Stephen23
Stephen23 2022-6-12
编辑:Stephen23 2022-6-12
"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 2022-6-13
Hi,
Thanks for the explaning and extra resource. I appreciate it.
Feiyang

请先登录,再进行评论。

采纳的回答

DGM
DGM 2022-6-12
编辑:DGM 2022-6-12
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

更多回答(0 个)

类别

Help CenterFile Exchange 中查找有关 Logical 的更多信息

标签

产品


版本

R2022a

Community Treasure Hunt

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

Start Hunting!

Translated by