what's the difference between | and || in matlab??

485 visualizaciones (últimos 30 días)
maha ismail
maha ismail el 10 de Dic. de 2014
Comentada: Steve Van Hooser el 2 de Dic. de 2024
what's the difference between | and || in matlab??

Respuesta aceptada

matt dash
matt dash el 10 de Dic. de 2014
Movida: Stephen23 el 19 de Mzo. de 2024
Clarification: for short circuit "and" no tests are evaluated after the first "false". For short circuit "or" no tests are evaluated after the first true.

Más respuestas (1)

Sean de Wolski
Sean de Wolski el 10 de Dic. de 2014
Editada: Sean de Wolski el 10 de Dic. de 2014
| applies to each element in the array, || applies to a scalar condition:
[1 0 1] | [ 0 0 1]
v.
[1 0 1] || [ 0 0 1]
  4 comentarios
DGM
DGM el 2 de Dic. de 2024
Editada: DGM el 2 de Dic. de 2024
I hate to nitpick, but I'm bored and have a minor tweak to add:
The || is a scalar operator, and the | operator is elementwise; that's true. The problem is describing what's expected of an elementwise operator's output size (at least if we're going to explicitly describe it in the context of an ancient question).
Now if we're living in 2014, then the statement that the output is the same size as the input would be true. In the present day, the size of the output of an elementwise operator isn't necessarily the same size as the input. That's only the case when the two inputs are the same size.
Assuming that the inputs have compatible size, the output size is the maximum of input sizes (assuming we're using R2016b or newer (or are using bsxfun() in older versions)).
[1 0 1] | [0 0 1] % output is 1x3
ans = 1x3 logical array
1 0 1
[1 0 1] | [0 0 1].' % output is 3x3
ans = 3x3 logical array
1 0 1 1 0 1 1 1 1
Even without this addendum, I think that @Steve Van Hooser's comment is a more meaningful answer than the original. The short-circuit functionality is really secondary to the fact that || is scalar.
Steve Van Hooser
Steve Van Hooser el 2 de Dic. de 2024
Nice addition. I don't see how to give a thumbs up so I will do it in words.

Iniciar sesión para comentar.

Categorías

Más información sobre Matrices and Arrays en Help Center y File Exchange.

Etiquetas

Productos

Community Treasure Hunt

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

Start Hunting!

Translated by